ایمیل وبلاگ

ایمیل وبلاگ: DaryayeElm.Blogspot@gmail.com

مرداد ۳۰، ۱۳۹۰

How to install Mannasim?



متاسفانه ماناسیم هم همانند دیگر پروژه‌های Open Source دارای مشکلات و نقایص فراوانی است.
خوشبختابه بنده کدهای آن را تغییر داده و توانستم مشکلاتی که در طی نصب و شبیه‌سازی به آن برخوردم را رفع کنم. همچنین با تغییراتی که در کدها اعمال شد، انرژی نودها بعد از هر ارسال یا دریافت، نمایش داده می‌شود.
پس به شما توصیه می‌کنم برای نصب و راه‌اندازی ماناسیم حتما و حتما از توضیحات و فایلهایی که در این وبلاگ قرار دادم استفاده کنید که حاصل تجربیات شخصی می‌باشد.

قبل از شروع به نکات زیر توجه کنید:
  • توجه داشته باشید که حتما باید در محیط یونیکس اقدام به نصب ماناسیم کنید. چراکه نیاز به کامپایل دوباره‌ی NS می‌باشد. محیط یونیکس می‌تواند Linux، Mac OSX و یا cygwin در ویندوز باشد.
  • لازم است NS از قبل نصب باشد.

برای شروع شما نیاز به فایل‌های ماناسیم، فایل‌های دستکاری شده‌ی NS و یک فایل با نام tcp-qs دارید که همه‌ی آنها را می‌توانید از اینجا دانلود کنید.
سپس فایل را از حالت فشرده باز کنید. دو فایل خواهید دید:
  • tcp-qs.cc
  • mannasim-src-ns2.29 - changed.zip
فایل mannasim-src-ns2.29 - changed.zip را از حالت فشرده خارج کنید. فولدر mannasim را در آدرس زیر کپی کنید:
ns2-allinone\ns2-2.30
به شاخه‌ی ns2-allinone\ns2-2.30\mannasim\ns-modified-files رفته و فایلهایی که در آن شاخه قرار دارد را طبق زیر با فایلهای اصلی ns عوض کنید:
  • ns-2.30/apps/udp.cc
  • ns-2.30/common/ns-process.h
  • ns-2.30/common/packet.cc
  • ns-2.30/common/packet.h
  • ns-2.30/mac/mac-802_11.cc
  • ns-2.30/tcl/lib/ns-lib.tcl
  • ns-2.30/tcl/lib/ns-default.tcl
  • ns-2.30/Makefile.in
 حال فایل tcp-qs.cc را در آدرس زیر کپی کنید:
ns2-allinone\ns2-2.30\tcp
حال در محیط shell به آدرس ns2-allinone\ns2-2.30 رفته و درستور زیر را اجرا کنید:
./configure
بعد از آن دستور زیر را اجرا کنید:
make
اگر در حین کار با مشکل مواجه شدید، دستور  make clean را اجرا کنید و سپس دو مرحله‌ی قبل را تکرار کنید.
اگر مشکل همچنان پابرجابود، NS را دوباره کامپایل کنید. برای اینکار به آدرس ns2-allinone رفته و دستور زیر را اجرا کنید:
./install
اگر باز هم با مشکل مواجه شدید، در قسمت نظرات مطرح کنید.

What is Mannasim?


ماناسیم چیست؟
همانطور که در پست‌های قبلی گفته شد، از NS می‌توان برای شبیه‌سازی شبکه‌های Ad-hoc هم استفاده کرد اما این شبیه‌ساز برای شبیه سازی شبکه‌های حسگر بی‌سیم مناسب نیست. چراکه خیلی از ویژگی‌های این نوع شبکه را بصورت پیش‌فرض در خود ندارد و به همین دلیل باید مسلط به زبان C باشید تا با صرف زمان و کدنویسی زیاد بتوانید WSN را در این نرم‌افزار، شبیه‌سازی کرد. اما خبر خوب این است که گروه تحقیقاتی مانا (Manna) از قبل اینکار را انجام داده و کدهایشان را به صورت open source در اختیار همه قرار دادند (۱).

منابع:
  1. http://www.mannasim.dcc.ufmg.br

مرداد ۱۴، ۱۳۹۰

How to use NS in Windows-part2

استفاده از NS توسط cygwin در ویندوز:
cygwin  در واقع یک ترمینال لینوکس، تحت ویندوز می‌باشد. یعنی بعد از نصب cygwin شما bash را در محیط ویندوز خواهید داشت و می‌توانید دستورات لینوکسی را در آن اجرا کنید.
برای نصب کافی است ابتدا فایل Setup.exe را از اینجا دانلود کنید و سپس همینطور که به اینترنت متصل هستید، setup را اجرا کنید. سپس مراحل مختلف را طبق ویدئوی آموزشی طی کنید و بسته‌های مورد نیاز را انتخاب کنید و منتظر باشید تا دانلود و نصب شوند.
مطمئن شوید که بسته‌های زیر تیک خورده باشند:

DevelopmentDocumentation optionalEditors OptionalInterpretersTextUtilsXfree86
Gcc c,c++, fortran compilerCygwin-docVIMGawkPatchutilsPatchutilsXfree86 bin
Makeman Perl PatchXfree86 prog
PatchutilsWin32apiXfree86 lib
Xfree86 etc
از اینجا هم می‌تونید مراحل نصب cygwin رو به صورت PDF دانلود کنید.
بعد از نصب cygwin، همانند روال نصب NS بر روی لینوکس، اقدام به نصب NS کنید.

لینک‌های مورد نیاز برای این پست:

How to use NS in Windows-part1

برای استفاده از NS بر روی ویندوز دو راه وجود دارد:
  1. استفاده از ورژن از قبل کامپایل شده
  2. استفاده از cygwin
توضیح راه اول:
در این روش همانطور که از نامش پیداست، از ورژنی که از قبل کامپایل شده است استفاده می کنیم. در این حالت دایرکتوریی خواهیم داشت که شامل فایل ها و بسته های مورد نیاز و کامپایل شده ی NS می باشد.
برای کد نویسی کافی است کدهای مربوطه را در notepad نوشته و با پسوند tcl ذخیره کنید و برای اجرا هم کافی است در cmd به آدرس مکانی که فایل ns.exe در آن قرار دارد رفته و با فرمان ns filename.tcl سناریوی مورد نظر را اجرا کنید و سپس به بررسی نتایج حاصله بپردازید.
اما اگر بخواهید محیطی برای کدنویسی داشته باشید که از زبان tcl هم پشتیبانی کند و امکانات متعددی برای کدنویسی در اختیارتان قرار دهد می توانید از برنامه ای که برای کدنویسی میکروکنترولرهای AVR می باشد، استفاده کنید. نام این برنامه Programmer's Notepad است. شما می توانید این برنامه را از اینجا و همچنین فیلم آموزشی کار با NS توسط این برنامه را از اینجا دانلود کنید.

لینک‌های مورد نیاز:

How to install NS in Linux

این برنامه از بسته‌های زیر تشکیل شده است یا به عبارت دیگر، برای کار با NS بسته‌های زیر را باید نصب کنید:
  1. Tcl release 8.4.18 (required component)
  2. Tk release 8.4.18 (required component)
  3. Otcl release 1.13 (required component)
  4. TclCL release 1.19 (required component)
  5. Ns release 2.34 (required component)
  6. Nam release 1.14 (optional component)
  7. Xgraph version 12 (optional component)
  8. CWeb version 3.4g (optional component)
  9. SGB version 1.0 (?) (optional component, builds sgblib for all UNIX type platforms)
  10. Gt-itm gt-itm and sgb2ns 1.1 (optional component)
  11. Zlib version 1.2.3 (optional, but required should Nam be used)
همانطور که در جلوی هر کدام از آنها توضیح داده شد،‌برخی از آنها اختیاری و برخی دیگر اجباری می‌باشند.
شبیه‌ساز NS را می‌توان به دو صورت نصب کرد.
  1. تک تک بسته‌های مورد نیاز را دانلود و سپس اقدام به نصب یکی یکی آنها کنیم.
  2. بسته‌ی All in One را دانلود و نصب کنیم که شامل همه‌ی بسته‌های مورد نیاز و حتی اختیاری می‌باشد.
مطمئنا راه دوم ساده‌تر است. کافیست فقط یک فایل فشرده شده را دانلود کنید و برای نصب هم کافی است فقط یک فایل را اجرا کنید.

برای نصب این شبیه‌ساز بر روی لینوکس به صورت زیر عمل کنید:
  1. در ابتدا توزیع All in One از نرم‌افزار NS را از اینجا دانلود کنید. (ورژن این توزیع ۲.۳۴ و حجم آن ۵۷ مگابایت می‌باشد که فعلا آخرین ورژن به حساب می‌آید)
  2. فایل PDF راهنمای نصب را از اینجا دانلود کنید و طبق آن اقدام به نصب NS کنید.
  3. فقط توجه داشته باشید که دستورات بکار برده شده برای لینوکس را معادل توزیع لینوکس مورد نظر خود تغییر دهید.
  4. همچنین توجه داشته باشید که بعد از نصب باید آدرس‌هایی را در فایل .bashrc قرار دهید. در این قسمت به عدد ورژن شبیه‌ساز و ورژن دیگر بسته‌ها دقت کنید که باید متناسب با ورژنی از NS که دانلود کردید، تغییر کند.

تیر ۱۸، ۱۳۹۰

نرم‌افزار NS چیست؟

همیشه که نباید از ابتدا شروع کرد، کاهی لازم است از پایان شروع کرد!!

پروژه‌ی پایانی من در دوره‌ی کارشناسی ارشد مربوط به شبکه‌های حسگر بی‌سیم (WSN) می‌باشد. جمله‌ی بالا را به این دلیل نوشتم که از همان ابتدا به سراغ شبیه‌سازی پایانی رفتم. :)

در مورد WSN در وبلاگ قبلی‌ام (www.ANewProject.blogfa.com) توضیحاتی دادم که می‌توانید برای درک بهتر این شبکه، به پست‌های سابقم مراجعه کنید.

و اما در مورد نرم‌افزار NS: این نرم‌افزار که گاهی آن را با نام NS2 هم می‌شناسند مخفف Network Simulator می‌باشد. همانطور که از اسمش پیداست، از این نرم‌افزار برای شبیه‌سازی شبکه‌ها اعم از با سیم و بی سیم استفاده می‌کنند. توجه داشته باشید که در پست‌های آینده سعی بر شبیه‌سازی WSN است.

نرم‌افزار NS تحت Unix می‌باشد. یعنی شما می‌توانید آن را بر روی Linux و OSX(Mac OS) هم نصب کنید. گروه نویسنده‌ی این شبیه‌ساز، برای افرادی که با ویندوز کار می‌کنند هم فکری کرده است. با نرم‌افزار‌هایی که در آنیده توضیح می‌دهم شما خواهید توانست از این شبیه‌ساز در Windows، Mac OS، Linux استفاده کنید. اما پیشنهاد من، نصب بر روی یونیکس است چرا که در ویندوز خیلی محدود می‌باشید.

این نرم‌افزار از زبان برنامه‌نویسی OTCL یا Object Oriented TCL برای کدنویسی محیط شبکه استفاده می‌کند. یعنی برای اینکه بتوانید شبکه را شبیه‌سازی کنید باید با زبان OTCL کد بنویسید تا نرم‌افزار NS، کد شما را کامپایل کرده و نتایج شبیه‌سازی را به شما برگرداند.

بسته به کدی که می‌نویسید می‌توانید نتایج شبیه‌سازی را به دو صورت مشاهده کنید:
1. به صورت یک فایل متنی که حاوی اطلاعات بسته‌های رد و بدل شده، میزان انرژی Nodeها و سایر اطلاعات مورد نیاز برای آنالیز شبکه می‌باشد (شکل ۱).
شکل ۱
2. به صورت تصویری و از طریق نرم‌افزار NAM. این برنامه، محیط شبکه‌ای که کدش را نوشتید را به صورت تصویری در اختیار شما قرار می‌دهد (شکل ۲).
شکل ۲

سایت‌هایی که برای کار با NS می‌توانید از آنها کمک بگیرید:
  1. http://www.isi.edu/nsnam/ns
  2. http://nsnam.isi.edu/nsnam/index.php/User_Information
  3. http://www.ns2ultimate.com

آبان ۰۷، ۱۳۸۹

امنیت در محاسبات خوشه‌ای

در این پست، امنیت در محاسبات خوشه‌ای بررسی شده است.
مکانیزیم امنیتی که این مقاله ارئه شده اساس نقش (Role Based Access Control) می‌باشد.


Keywords: Role Base Access Control, RBAC, Cluster Computing, Permission

مهر ۰۷، ۱۳۸۹

Registry Is Disabled by Administrator

از شانس بدم دقیقاً همون موقعی که نیاز مبرم به رجیستری ویندوز دارم با این پیام روبرو می‌شم و دقیقاً همون موقع ست که  دارم توو دلم پشت سر بیلی یه چیزایی می‌گم!!!

برای حل این مشکل به آدرس زیر برید و Disable رو انتخاب کنید:
Start > Run > gpedit.msc > User Configuration > Administrative Templates > System > Prevent access to registry tools

Explorer.exe در هنگام بالا آمدن ویندوز اجرا نمی‌شود

آیا تا بحال برای شما اتفاق افتاده که ویندوزتان به صورت ناقص بالا بیاید و شما می‌بایست کلیدهای Ctrl+Alt+Del را زده و New Task را انتخاب کنید و سپس فایل Explorer.exe را اجرا کنید تا بتوانید محیط گرافیکی ویندوز را بطور کامل ببینید؟
برای رفع این مشکل باید تغییراتی در رجیستری ویندوز اعمال کنید که فایل آماده شده‌ی آن از لینک زیر قابل دانلود است.

لینک دانلود

یا همانند زیر، تنظیمات را در رجیستری اعمال کنید:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"ReportBootOk"="1"
"Shell"="explorer.exe"
"Userinit"="C:\\Windows\\system32\\userinit.exe,"
"VMApplet"="SystemPropertiesPerformance.exe /pagefile"
"AutoRestartShell"=dword:00000001
"Background"="0 0 0"
"CachedLogonsCount"="10"
"DebugServerCommand"="no"
"ForceUnlockLogon"=dword:00000000
"LegalNoticeCaption"=""
"LegalNoticeText"=""
"PasswordExpiryWarning"=dword:00000005
"PowerdownAfterShutdown"="0"
"ShutdownWithoutLogon"="0"
"WinStationsDisabled"="0"
"DisableCAD"=dword:00000001
"scremoveoption"="0"
"ShutdownFlags"=dword:0000002b
"AutoAdminLogon"="0"