ایمیل وبلاگ

ایمیل وبلاگ: 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

تیر ۱۳، ۱۳۸۹

ده دلیل برای ارتقاء به ویندوز سرور 2008



۱) پشتیبانی بهتر از آخرین سخت‌افزار سرور

ویندوز سرور R۲۲۰۰۸ اولین نسخه از ویندوز سرور است که بطور کامل معماری ۳۲ بیتی را رها کرده است. همراه با حرکت بسوی معماری ۶۴ بیتی مایکروسافت طراحی ویندوز سرور ۲۰۰۸ R۲ را برای پشتیبانی از ۲۵۶ پردازنده منطقی پایه ریزی کرده است. بر این اساس مایکروسافت طراحی Hyper-V را به گونه*ای انجام داده است که توانایی پشتیبانی از ۳۲ پردازنده منطقی را داشته باشد در حالی که نسخه ابتدایی از برنامه Hyper-V قابلیت پشتیبانی از ۱۶ پردازنده را داشت. بطور کلی ویندوز سرور ۲۰۰۸ R۲ برای مدیریت بهتر را منابع سخت*افزاری طراحی شده است. استفاده بهینه و کامل از منابعی چون RAM و CPU یکی از چند ویژگی*های ویندوز سرور ۲۰۰۸ R۲ است.

۲) بهینه سازی مصرف انرژی

این روزها صاحبان صنایع در پی راه*حل مناسبی جهت کم کردن هزینه*های جاری خود هستند. برای صنعت IT نیز ویندوز سرور ۲۰۰۸ R۲ یکی از این راه*حل*ها محسوب می*شود، چرا که استفاده بهینه از منابع انرژی و بهینه*سازی مصرف برق یکی از ویژگی*های این نسخه از ویندوز است. استفاده از ویندوز ۷ و ویندوز سرور ۲۰۰۸ R۲ با توجه به اضافه شدن group plicy مربوط به مدیریت منابع و انرژی راهکاری بسیار مناسبی در راه رسیدن به این هدف می*باشد.

۳) بهره مندی از IIS ۷.۵

ویندوز سرور ۲۰۰۸ R۲ با آخرین نسخه از برنامه Internet Information Services (IIS) همراه است و همراهی IIS با بهترین راهکارهای امنیتی برای وب*سایت*ها و سرورهای ارائه خدمات میزبانی وب یکی از دلایل محکم و بهره*مندی از امنیت بیشتر است، به عنوان مثال شما در نسخه*های قبلی IIS از برنامه مفید امنیتی URLscan چیزی نخواهید دید، اما در این نسخه از IIS برنامه URLscan ۳.۰ نیز به*صورت اتوماتیک با IIS ۷.۵ همراهی می*کند تا بتواند امنیت بیشتر و بهتری برایتان ایجاد کند.

۴) بهره مندی از PowerShell ۲.۰

خوشبختانه یکی از ویژگی*های ویندوز سرور ۲۰۰۸ R۲ همراهی نسخه جدید PowerShell ۲.۰ است و با آن می‌توانید در ویندوز سرور ۲۰۰۸ R۲ نسخه اورجینال بیش از یکصد فرمان تحت محیط خط فرمان یا همان command-line را اجرا کنید و بصورت حرفه*ای*تر به محیط تست و عیب*یابی ویندوز وارد شوید.

۵) دسترسی مستقیم

هرکسی که تجربه پشتیبانی کاربران از راه دور را دارد می*داند که این چه کار عذاب*آوری است و البته امروز تقریبا همه انتظار دارند که بتوانند از راده دور کار کنند. خوشبختانه مایکروسافت روش این کار را با ستفاده از یک فلسفه جدید برای دسترسی از راه دور آسان کرده است. در ویندوز سرور ۲۰۰۸ R۲ دیگر تفاوتی بین یک اتصال محلی و یا اتصال از راه دور وجود ندارد. اساساً، در مورد تمامی اتصالات به شکلی مشابه عمل می*شود و ویندوز محاسبات پشت پرده را انجام می*دهد. ویژگی که این کار را عملی می*کند به دسترسی مستقیم یا همان Direct access معروف شده است.

۶) میزکار مجازی یکپارچه

ویژگی Terminal Service سالهاست که در ویندوز سرور در دسترس است اما ویندوز سرور ۲۰۰۸ R۲ یک میزکار مجازی یکپارچه و پیشرفته را ارائه کرده است. این ویژگی دو مزیت دارد؛ اول اینکه برنامه*های میزبان در منوی استارت ظاهر می*شود و این حالت برنامه*هایی که به*صورت محلی بر روی سرور نصب شده است نیز صادق است. برای کاربر تفکیک برنامه*های نصب شده قبلی و اختصاصی کاربر کمی دشوار بود، اما هم اینک ویندوز سرور ۲۰۰۸ R۲ این تفکیک*پذیری را انجام داده است. مزیت دوم این است که توابع گرافیکی (برخی توابع I/O مانند صفحه کلید و یا ماوس) اینک از طریق میزکار کاربر اداره خواهد شد. این بدین معناست در هر با ارتباط با سرور از راه دور از منابع کمتری از سرور استفاده خواهد شد و بنابراین می*توان از این منابع به شکل کارآمدتری استفاده کرد.

۷) بهره مندی از تکنولوژی Branch Cache

استفاده از تکنولوژی Branch Cache یکی از بهترین ویژگی*های جدید در ویندوز سرور ۲۰۰۸ R۲ نامیده می*شود. ایده پشت پرده این ویژگی جهت بالا بردن کارآیی ارتباطات در محیط WAN به وجود آمده است، به این ترتیب که فایل*هایی که بر روی سرور قرار گرفته است و کاربران در دفاتر و شعب مختلف باید به آنها دسترسی داشته باشند مشترک می*شود. پیمودن مسیر از مبدا تا مقصد و در دسترس قرار دادن فایل*ها به*صورت جداگانه برای هر کاربر مستلزم بالا بودن سرعت ارتباط و به هدر رفتن پهنای باند می*شود. از این رو این تکنولوژی به اشتراک*گذاری فایل*ها بین چندین کاربر به*صورت مشترک را پیشنهاد می*دهد. این تکنیک می*تواند کمک بزرگی به کاهش هزینه*های پهنای باند در سرور اصلی باشد و تنها در صورت تغییر فایل اصلی در سرور این مسیر باید از اول پیموده شود.

۸) ویندوز سرور Backup

یکی از دغدغه*های شرکت*ها برای اطمینان خاطر از روند کار سرورهای اطلاعاتی تهیه نسخه پشیبان و استفاده از آن در شرایط اضطراری و ضروری است. استفاده از برنامه*های جانبی مانند Acronis و Symantec Gost برای تهیه نسخه پشتیبان و یا برنامه همراه با ویندوز (NTBACKUP) یکی از راهکارهای پیش روی شرکت*ها بوده است. اما زمانی که ویندوز سرور ۲۰۰۸ به بازار آمد فاقد برنامه تهیه نسخه پشتیبان*گیری بود و برای بسیاری از شرکت*ها استفاده از نرم*افزارهای جانبی بسیار سنگین بود و مایکروسافت در نسخه جدید ویندوز سرور ۲۰۰۸ R۲ نیز مجددا برنامه حرفه*ای (NTBACKUP) را به این مجموعه اضافه کرده است و از نظر قابلیت*های نسخه*های قبلی مورد اطمینان*تر و پیشرفته*تر است و برای راه*اندازی سیستم پشتیبان*گیری یکی از ابزارهای معقول تبدیل شده است.

۹) بهترین روش های آنالیز و تجزیه تحلیل

در حال حاضر مایکروسافت نسخه*ای از برنامه اختصاصی خود با نام (The Best Practices Analyzer) را برای IIS ارائه کرده است پیش از این این برنامه به*صورت یکی از افزونه*های مایکروسافت بود، اما با گذشت زمان و استقبال کاربران حرفه*ای از این ابزار برای روش*های آنالیز مایکروسافت آن برای ویندوز سرور ۲۰۰۸ R۲ به*صورت رایگان و مستقیم درنظر گرفته است به طوری که اکنون می*توان تجزیه و تحلیل سرویس*های مختلف سرور مانند IIS ،SQL Server و ISA Server را با چنین ابزراهایی انجام داد.

۱۰) Hyper-V

قبلاً هم اشاره کرده بودم Hyper-V با طراحی دوباره توانایی پشتیبانی از ۳۲ پردازنده را دارد، اما این بار می*خواهم به یکی دیگر از برجستگی*های این برنامه اشاره کنم. از مهم*ترین مسایلی که ممکن است هنگام استفاده از تکنولوژی*های مجازی*سازی در پیش داشته باشید انجام نقل*وانتقال از یک میزبان مجازی به یک میزبان دیگر است، این اتفاقیست که ممکن است برای هر کاربری پیش آمده باشد و با سپری شدن زمانی کوتاه یا بلند به هدف خود رسیده باشید. این بار انجام چنین نقل*وانتقالی در Hyper-V بدون وقفه و یا به عبارتی بدون Downtime انجام خواهد شد، قابلیت کوچک دیگری که به برجستگی این ابزار می*افزاید اضافه کردن هارد مجازی به ماشین مجازی بدون نیاز به بارگذاری و یا ریست کردن مجدد ویندوز است.