فهرست مطالب
عنوان صفحه
=======================================================
مقدمه 1
فصل اول
شبکه های حسگربی سیم2
چرا شبکه های حسگر؟2
تاريخچة شبكه هاي حسگر3
ساختار كلي شبكه حسگر بي سيم4
ساختمان گره6
ويژگي ها7
موضوعات مطرح_ 7
عوامل پیش بینی نشده11
نمونه ی پیاده سازی شده شبکه حسگر12
بررسي نرم ا فزارهاي شبيه سازي شبكه14
خصوصيات لازم براي شبيه سازهاي شبكه15
شبيه ساز NS(v2)16
معماري دروني NS_ 16
مدل VuSystem_ 16
شبيه ساز OMNeT++_ 17
شبیه ساز Ptolemy II18
مدل سازی شبکه های بی سیم20
اجرای یک مدل پیش ساخته20
تغییر پارامترها22
ساختار یک مدل پیش ساخته23
قابلیت های مدل سازی_ 41
1.ساختار بسته ها42
2.اتلاف بسته ها42
3.توان باتری 43
4.اتلاف توان_ 43
5.برخورد ها44
6.بهره آنتن دهی ارسال_ 47
ساختار نرم افزار50
چند مثال و کاربرد54
فهمیدن تعامل (واکنش) در شبکه های حسگر54
نقایص شبکه های حسگر54
توانایی های توسعه یافته شبکه های حسگر54
طراحی ومدل کردن ناهمگن پتولومی_ 54
مدل شبکه حسگر55
نمونه های ایجاد شده توسط نرم افزار55
فصل دوم
امنیت در شبکه های حسگر بی سیم61
مقدمه61
چالش های ایمنی حسگر63
استقرار نیرومند63
محیط مهاجم64
نایابی منبع64
مقیاس بزرگ_ 64
حملات و دفاع_ 64
لایه فیزیکی_ 65
تراکم65
کوبش_ 66
لایه اتصال_ 67
برخورد67
تخلیه67
لایه شبکه68
اطلاعات مسیر یابی غلط_ 68
عملیات انتخابی حرکت به جلو68
حمله چاهک_ 69
حمله سایبیل_ 69
حمله چاهک پیچشی_ 69
حمله جریان آغازگر69
اعتبار و رمز گذاری_ 70
نظارت_ 70
پروب شدن_ 71
فراوانی_ 71
راه حل های پیشنهادی_ 71
پروتکل های ارتباط_ 71
معماری های مدیریت کلیدی_ 75
LEAP_ 75
LKHW_ 75
پیش نشر کلیدی به صورت تصادفی_ 76
Tiny PK_ 76
نتیجه گیری_ 77
فصل سوم
بهبودتحمل پذيريخطادرشبکه هايحسگربي سيم78
کارهايانجامشده78
سازمان دهيگره هاوعملکردسيستم79
روش پيشنهادي_ 81
4-1 شبيه سازيدوروش_ 83
4-2 ارزيابي_ 83
نتيجهگيري_ 84
فصل چهارم
مقاله انگلیسی Security in Wireless Sensor Networks_ 96
منابع98
مقدمه
شبکه هايحسگربي سيمبه عنوانيکفناوريجديدازپيشروترين فناوري هايامروزيمي باشند. اينشبکه هامحدوديت ها،توانايي ها ,ويژگي ها،پيچيدگي هاومحيطعملياتيخاصخودرادارندکهآنهارااز نمونه هايمشابه،همچونشبکه هاي مورديمتفاوتمي کند[ 1].امروزه قابليتاطمينانوتحمل پذيريخطادرشبکه هايحسگر،بادرنظر گرفتنکيفيتبهتريکياززمينه هايمهمتحقيقاتياست. دستيابيبه اطلاعاتباکيفيتبامحدوديت هايدرنظرگرفتهشدهدرهنگاميکهخطاوجوددارديکيازچالش هايشبکه هايحسگراست[ 2,3].
خطادرشبکه هايحسگربه صورتيکرويدادطبيعيبه شمارمي آيدوبرخلافشبکه هايمعموليوسنتييکواقعه ينادرنيست. براي تضمينکيفيتسرويسدرشبکه هايحسگرضرورياستتاخطاهارا تشخيصدادهوبرايجلوگيريازصدماتناشيازبروزخطا،عملمناسبرادربخش هاييکهآسيبديده اندانجامدهيم[ 4].
دوبخشمهمدرتحمل پذيريخطايکيتشخيصخطاوديگريترميم خطااست. درمرحله يتشخيصخطامهمايناستکهبتوانباصرف هزينه يکموبادقتبالابهايننتيجهرسيدکهواقعاخطاييرخداده استوگره هايآسيب ديدهراشناسايينمود. درمرحله يترميممهم استکهپسازتشخيصخطا،بتوانگره هايآسيب ديدهرابهوضعيتي کهقبلازبروزخطاداشتند،رساند. درشبکه هايحسگرتشخيصخطا مي توانددرموارديهمچونامنيتوکاراييبه کارگرفتهشود.
دراينمقالهباتوجهبهاهميتتشخيصخطاوکاربردتحمل پذيري خطادرشبکه هايحسگروباتوجهبهمدلواقعه گرابرايجمع آوري داده هادرشبکه هايحسگر،روشيجديدبرايتشخيصخطاباتوجهبه ساختاريخوشه ايپيشنهادشدهاست. هدفاصلي،بهبودوتشخيص درستگره هايآسيب ديدهدرشبکه هايحسگراست.
بخش هايمختلفاينمقالهبه صورتزيرتقسيم بنديشدهاست. در بخش۲درموردروش هاوکارهايانجامشدهبرايافزودنتحمل-پذيريخطادرشبکه هايحسگرتوضيحدادهمي شود. دربخش۳ سازماندهيگره هادرساختارخوشه ايونحوه يعملکردآنهابراي افزودنروشپيشنهاديتوضيحدادهمي شود. دربخش۴روش پيشنهاديتوضيحدادهمي شودودرانتهاشبيه سازيوارزيابيروش پيشنهاديومقايسه يآنباروش[ 4] انجاممي شودوبهبودروش پيشنهادينسبتبهاينروشنشاندادهمي شود
فصل اول : شبکه های حسگر بی سیم
شبكه حسگر/كارانداز (حسگر)[1] شبكه اي است متشكل از تعداد زيادي گره كوچك. در هر گره تعدادي حسگر و/يا كارانداز وجود دارد. شبكه حسگر بشدت با محيط فيزيكي تعامل دارد. از طريق حسگرها اطلاعات محيط را گرفته و از طريق كار انداز ها واكنش نشان مي دهد. ارتباط بين گره ها بصورت بي سيم است. هرگره بطور مستقل و بدون دخالت انسان کار میکند و نوعا از لحاظ فيزيكي بسيار كوچك است ودارای محدودیت هایی در قدرت پردازش, ظرفيت حافظه, منبع تغذيه, ... می باشد. اين محدوديت ها مشكلاتي را بوجود مي آورد كه منشأ بسياري از مباحث پژوهشي مطرح در اين زمينه است. اين شبكه از پشته پروتكلي شبكه هاي سنتي پيروي مي كند ولي بخاطر محدودیت ها و تفاوتهاي وابسته به كاربرد, پروتكل ها بايد باز نويسي شوند.
چرا شبکه های حسگر؟
امروزه زندگی بدون ارتباطات بی سیم قابل تصور نیست.پیشرفت تکنولوژی CMOS و ایجاد مدارات کوچک و کوچکتر باعث شده است تا استفاده از مدارات بی سیم در اغلب وسایل الکترونیکی امروز ممکن شود.این پیشرفت همچنین باعث توسعه ریز حسگر ها شده است.این ریز حسگر ها توانایی انجام حس های بی شمار در کارهایی مانند شناسایی صدا برای حس کردن زلزله را دارا می باشند همچنین جمع آوری اطلاعات در مناطق دور افتاده ومکان هایی که برای اکتشافات انسانی مناسب نیستند را فراهم کرده است. اتومبیل ها می توانند از ریز حسگر های بی سیم برای کنترل وضعیت موتور, فشار تایرها, تراز روغن و... استفاده کنند.خطوط مونتاژ می توانند از این سنسورها برای کنترل فرایند مراحل طول تولید استفاده کنند.در موقعیت های استراتژیک ریز حسگرها می توانند توسط هواپیما بر روی خطوط دشمن ریخته شوند و سپس برای رد گیری هدف(مانند ماشین یا انسان) استفاده شوند. در واقع تفاوت اساسی این شبکه ها ارتباط آن با محیط و پدیده های فیزیکی است شبکه های سنتی ارتباط بین انسانها و پایگاه های اطلاعاتی را فراهم میکند در حالی که شبکه ی حسگر مستقیما با جهان فیزیکی در ارتباط است با استفاده از حسگرها محیط فيزيكي را مشاهده کرده, بر اساس مشاهدات خود تصميم گيري نموده و عمليات مناسب را انجام می دهند. نام شبكه حسگر بي سيم يك نام عمومي است براي انواع مختلف كه به منظورهاي خاص طراحي مي شود. برخلاف شبكه هاي سنتي كه همه منظوره اند شبكه هاي حسگر نوعا تك منظوره هستند.در هر صورت شبکه های حسگر در نقاط مختلفی کاربرد دارند برخی از این کاربرد ها به صورت فهرست وار آورده شده است:
- نظامی (برای مثال ردگیری اشیاء)
- بهداشت(برای مثال کنترل علائم حیاتی)
- محیط(برای مثال آنالیززیستگاه های طبیعی)
- صنعتی(برای مثال عیب یابی خط تولید)
- سرگرمی(برای مثال بازی مجازی)
- زندگی دیجیتالی(برای مثال ردگیری مکان پارک ماشین)
تاريخچة شبكه هاي حسگر:
در شكل (1) طرح ها و ايده هاي اوليه شبكه هاي حسگر نشان داده شده است.
شكل (1) رخداد نگاري شبكه حسگر
|
|
اگرچه تاريخچه شبکه های حسگر را به دوران جنگ سرد و ايده اوليه آن را به طراحان نظامي صنايع دفاع آمريكا نسبت مي دهند ولي اين ايده مي توانسته در ذهن طراحان ربات هاي متحرك مستقل يا حتي طراحان شبكه هاي بي سيم موبايل نيز شكل گرفته باشد.
ساختار كلي شبكه حسگر بي سيم:
قبل از ارائه ساختار كلي ابتدا تعدادي از تعاريف کلیدی را ذكر مي كنيم.
حسگر : وسيله اي كه وجود شيئ رخداد يك وضعيت يا مقدار يك كميت فيزيكي را تشخيص داده و به سيگنال الكتريكي تبديل مي كند. حسگر انواع مختلف دارد مانند حسگرهاي دما, فشار, رطوبت, نور, شتاب سنج, مغناطيس سنج و...
كارانداز : با تحريك الكتريكي يك عمل خاصي مانند باز و بسته كردن يك شير يا قطع و وصل يك كليد را انجام مي دهد
گره حسگر: به گره ای گفته مي شود كه فقط شامل يك يا چند حسگر باشد.
گره كارانداز: به گره ای گفته مي شود كه فقط شامل يك يا چند كارانداز باشد.
گره حسگر/كارانداز: به گره ای گفته مي شود كه مجهز به حسگر و كار انداز باشد.
شبكه حسگر : شبكه اي كه فقط شامل گره هاي حسگر باشد. اين شبكه نوع خاصي از شبكه حسگر است. در كاربردهايي كه هدف جمع آوري اطلاعات و تحقيق در مورد يك پديده مي باشد كاربرد دارد. مثل مطالعه روي گردبادها.
میدان حسگر/کارانداز : ناحیه کاری که گره های شبکه حسگر در آن توزیع میشوند.
چاهک[2]: گرهی که جمع آوری داده ها را به عهده دارد. و ارتباط بین گره های حسگر و گره مدیر وظیفه[3] را برقرار مي كند.
گره مدیر وظیفه: گرهی که یک شخصی بعنوانکاربريا مدیر شبكه از طریق آن با شبکه ارتباط برقرار میکند. فرامین کنترلی و پرس و جو ها از اين گره به شبکه ارسال شده و داده های جمع آوری شده به آن بر میگردد
شبكه حسگر: شبكه اي متشكل از گره هاي حسگر و كار انداز يا حسگر/كارانداز است كه حالت كلي شبكه هاي مورد بحث مي باشد. به عبارت ديگر شبكه حسگر شبكه اي است با تعداد زيادي گره كه هر گره مي تواند در حالت كلي داراي تعدادي حسگر و تعدادي كارانداز باشد. در حالت خاص يك گره ممكن است فقط حسگر يا فقط كارانداز باشد. گره ها در ناحيه اي كه ميدان حسگر ناميده مي شود با چگالي زياد پراكنده مي شوند. يك چاهك پايش[4] كل شبكه را بر عهده دارد. اطلاعات بوسيله چاهك جمع آوري مي شود و فرامين از طريق چاهك منتشر مي شود. شكل(2) را ببينيد. مدیریت وظایف میتواند متمرکز یا توزیع شده باشد. بسته به اينكه تصميم گيري براي انجام واكنش در چه سطحي انجام شود دو ساختار مختلف خودكار و نيمه خودكار وجود دارد. که ترکیب آن نیز قابل استفاده است.
شكل(2) ساختار كلي شبكه حسگر
|
|
ساختار خودكار : حسگر هايي كه يك رخداد يا پديده را تشخيص مي دهند داده هاي دريافتي را به گره هاي كارانداز جهت پردازش و انجام واكنش مناسب ارسال مي كنند. گره هاي كارانداز مجاور با هماهنگي با يكديگر تصميم گيري كرده و عمل مي نمايند. در واقع هیچ کنترل متمرکزی وجود ندارد و تصمیم گیری ها بصورت محلی انجام میشود.شكل(3) را ببینید.
ساختار نيمه خودكار: در اين ساختار داده ها توسط گره ها به سمت چاهك هدايت شده و فرمان از طريق چاهك به گره هاي كار انداز صادر شود. شكل(3) را مشاهده كنيد
شكل(3) ساختار خودكار
شكل(4) ساختار نيمه خودكار
از طرف ديگر در كاربردهاي خاصي ممكن است از ساختار بخش بندي شده يا سلولي استفاده شود كه در هر بخش يك سردسته[5] وجود دارد كه داده هاي گره هاي دستة خود را به چاهك ارسال مي كند. در واقع هر سردسته مانند يك مدخل[6] عمل ميكند.
ساختمان گره:
شكل(5) ساختمان داخلي گره حسگر را نشان مي دهد. هر گره شامل واحد حسگر/ كارانداز, واحد پردازش داده ها, فرستنده/گيرنده بي سيم و منبع تغذيه مي باشد بخشهاي اضافي واحد متحرك ساز, سيستم مكان ياب و توليد توان نيز ممكن است بسته به كاربرد در گره ها وجود داشته باشد.
واحد پردازش داده شامل يك پردازندة كوچك و يك حافظه با ظرفيت محدود است داده ها را از حسگرها گرفته بسته به كاربرد پردازش محدودي روي آنها انجام داده و از طريق فرستنده ارسال مي كند. واحد پردازش مديريت هماهنگي و مشاركت با ساير گره ها در شبكه را انجام مي دهد. واحد فرستنده گيرنده ارتباط گره با شبكه را برقرار مي كند. واحد حسگر شامل يك سري حسگر و مبدل آنالوگ به ديجيتال است كه اطلاعات آنالوگ را از حسگرگرفته و بصورت ديجيتال به پردازنده تحويل مي دهد. واحد كارانداز شامل كارانداز و مبدل ديجيتال به آنالوگ است كه فرامين ديجيتال را از پردازنده گرفته و به كارانداز تحويل مي دهد. واحد تامين انرژي, توان مصرفي تمام بخشها را تامين مي كند كه اغلب يك باطري با انرژي محدود است. محدوديت منبع انرژي يكي از تنگناهاي اساسي است كه در طراحي شبكه هاي حسگر همه چيز را تحت تاثير قرار مي دهد. در كنار اين بخش ممكن است واحدي براي توليد انرژي مثل سلول هاي خورشيدي وجود داشته باشد در گره هاي متحرك واحدي براي متحرك سازي وجود دارد. مكانياب موقعيت فيزيكي گره را تشخيص مي دهد. تكنيكهاي مسيردهي و وظايف حسگري به اطلاعات مكان با دقت بالا نياز دارند. يكي از مهمترين مزاياي شبكه هاي حسگر توانايي مديريت ارتباط بين گره هاي در حال حركت مي باشد.
شكل(5) ساختمان داخلی گره حسگر/كارانداز
ويژگي ها:
وجود برخي ويژگي ها در شبكه حسگر/ كارانداز, آن را از ساير شبكه هاي سنتی و بي سيم متمايز مي كند. از آن جمله عبارتند از:
- تنگناهاي سخت افزاري شامل محدوديتهاي اندازة فيزيكي, منبع انرژي, قدرت پردازش, ظرفيت حافظه
- تعداد بسيار زياد گره ها
- چگالي بالا در توزيع گره ها در ناحيه عملياتي
- وجود استعداد خرابي در گره ها
- تغييرات توپولوژي بصورت پويا و احيانا متناوب
- استفاده از روش پخش همگاني[7] در ارتباط بين گره ها در مقابل ارتباط نقطه به نقطه
- داده محور[8] بودن شبكه به اين معني كه گره ها كد شناسايي[9] ندارند
موضوعات مطرح:
عوامل متعددی در طراحي شبکه های حسگر موثر است و موضوعات بسیاری در این زمینه مطرح است که بررسی تمام آنها در این نوشتار نمیگنجد از این رو تنها به ذکر برخی از آنها بطور خلاصه اکتفا می کنیم.
1- تنگناهاي سخت افزاري: هرگره ضمن اينكه بايد كل اجزاء لازم را داشته باشد بايد بحد كافي كوچك, سبك و كم حجم نيز باشد بعنوان مثال در برخي كاربردها گره يايد به كوچكي يك قوطي كبريت باشد و حتي گاهي حجم گره محدود به يك سانتيمتر مكعب است و از نظر وزن آنقدر باید سبك باشد كه بتواند همراه باد در هوا معلق شود. در عين حال هر گره بايد توان مصرفي بسيار كم, قيمت تمام شده پايين داشته و با شرايط محيطي سازگار باشد. اينها همه محدوديتهايي است كه كار طراحي و ساخت گره هاي حسگر را با چالش مواجه ميكند. ارائه طرح های سخت افزاری سبک و کم حجم در مورد هر یک از اجزای گره بخصوص قسمت ارتباط بی سیم و حسگرها از جمله موضوعات تحقیقاتی است که جای کار بسیار دارد. پيشرفت فن آوري ساخت مدارات مجتمع با فشردگي بالا و مصرف پايين, نقش بسزايي در كاهش تنگناهاي سخت افزاري خواهد داشت.
2- توپولوژي: توپولوژي ذاتي شبكه حسگر توپولوژي گراف است. بدليل اينكه ارتباط گره ها بي سيم و بصورت پخش همگاني است و هر گره با چند گره ديگر كه در محدوده برد آن قرار دارد ارتباط دارد. آلگوريتم هاي كارا در جمع آوري داده و كاربردهاي ردگيري اشياء شبكه را درخت پوشا در نظر مي گيرند. چون ترافيك اصولا بفرمي است كه داده ها از چند گره به سمت يك گره حركت مي كند. مديريت توپولوژي بايد با دقت انجام شوديك مرحله اساسي مديريت توپولوژي راه اندازي اوليه شبكه است گره هايي كه قبلا هيچ ارتباط اوليه اي ندشته اند در هنگام جايگيري و شروع بكار اوليه بايد بتوانند با يكديگر ارتباط برقرار كنند. الگوريتم هاي مديريت توپولوژي در راه اندازي اوليه بايد امكان عضويت گره هاي جديد و حذف گره هايي كه بدلايلي از كار مي افتند را فراهم كنند. پويايي توپولوژي از خصوصيات شبكه هاي حسگراست كه امنيت آن را به چالش ميكشد. ارائه روشهاي مديريت توپولوژي پويا بطوري كه موارد امنيتي را هم پوشش دهد از موضوعاتي است كه جاي كار زيادي دارد.
3- قابليت اطمينان: هر گره ممكن است خراب شود يا در اثر رويدادهاي محيطي مثل تصادف يا انفجار بكلي نابود شود يا در اثر تمام شده منبع انرژي از كار بيفتد. منظور از تحمل پذيري يا قابليت اطمينان اين است كه خرابي گره ها نبايد عملكرد كلي شبكه را تحت تاثير قرار دهد. در واقع مي خواهيم با استفاده از اجزاي غير قابل اطمينان يك شبكه قابل اطمينان بسازيم. براي گره k با نرخ خرابي lk قابليت اطمينانبا فرمول(1) مدل مي شود. كه در واقع احتمال عدم خرابي است در زمان t بشرط اينكه گره در بازة زماني (0,t) خرابي نداشته باشد. به اين ترتيب هرچه زمان ميگذرد احتمال خرابي گره بيشتر ميشود.
(1)
4- مقياس پذيري : شبكه بايد هم از نظر تعداد گره و هم از نظر ميزان پراكندگي گره ها, مقياس پذير باشد. بعبارت ديگر شبكه حسگر از طرفي بايد بتواند با تعداد صدها, هزارها و حتي ميليون ها گره كار كند و از طرف ديگر, چگالي توزيع متفاوت گره ها را نيز پشتيباني كند. چگالي طبق فرمول (2) محاسبه مي شود. كه بيانگر تعداد متوسط گره هايي است كه در برد يك گره نوعي (مثلادايره اي با قطر10 متر) قرار مي گيرد. A: مساحت ناحيه كاري N:تعداد گره در ناحيه كاري و R: برد ارسال راديويي است. در بسياري كاربردها توزيع گره ها اتفاقي صورت مي گيرد و امكان توزيع با چگالي مشخص و يكنواخت وجود ندارد يا گره ها در اثر عوامل محيطي جابجا مي شوند. بنابراين چگالي باید بتواند از چند عدد تا چند صد گره تغيير كند. موضوع مقياس پذيري به روشها نيز مربوط مي شود برخي روشها ممكن است مقياس پذير نباشد يعني در يك چگالي يا تعداد محدود از گره كار كند. در مقابل برخي روشها مقياس پذير هستند.
5- قيمت تمام شده : چون تعداد گره ها زياد است كاهش قيمت هر تك گره اهميت زيادي دارد. تعداد گره ها گاهی تا میلیونها میرسد. در این صورت کاهش قیمت گره حتی به مقدار کم تاثیر قابل توجهی در قیمت کل شبکه خواهد داشت.
6- شرايط محيطي : طيف وسيعي از كاربرد ها ي شبكه هاي حسگر مربوط به محيط هايي مي شود كه انسان نمي تواند در آن حضور داشته باشد. مانند محيط هاي آلوده از نظر شيمياي, ميكروبي, هسته اي ويا مطالعات در كف اقيانوس ها و فضا ويا محيط هاي نظامي بعلت حضور دشمن ويا در جنگل و زيستگاه جانوران كه حضور انسان باعث فرار آنها مي شود. در هر مورد , شرايط محيطي بايد در طراحي گره ها در نظر گرفته شود مثلا در دريا و محيط هاي مرطوب گره حسگر در محفظه اي كه رطوبت را منتقل نكند قرار مي گيرد.
7- رسانه ارتباطي: در شبكه هاي حسگرارتباط گره ها بصورت بي سيم و از طريق رسانه راديويي, مادون قرمز, يا رسانه هاي نوري ديگر صورت مي گيرد. اكثرا از ارتباط راديويي استفاده مي شود. البته ارتباط مادون قرمز ارزانتر و ساختنش آسانتر است ولي فقط در خط مستقيم عمل مي كند.
8- توان مصرفي گره ها: گره هاي شبكه حسگربايد توان مصرفي كم داشته باشند. گاهي منبع تغذيه يك باتري 2/1 ولت با انرژي 5/. آمپر ساعت است كه بايد توان لازم براي مدت طولاني مثلا 9 ماه را تامين كند. در بسياري از كاربردها باتري قابل تعويض نيست. لذا عمر باطري عملا عمر گره را مشخص مي كند. بعلت اينكه يك گره علاوه بر گرفتن اطلاعات(توسط حسگر) يا اجراي يك فرمان(توسط كارانداز) بعنوان رهياب[10] نيز عمل مي كندبد عمل كردن گره باعث حذف آن از توپولوژي شده و سازماندهي مجدد شبكه و مسيردهي مجدد بسته عبوري را در پی خواهد داشت. در طراحي سخت افزار گره ها استفاده از طرح ها و قطعاتي كه مصرف پاييني دارند و فراهم كردن امكان حالت خواب[11] براي كل گره يا براي هر بخش بطور مجزا مهم است.
9- افزايش طول عمر شبكه: يك مشكل اين است كهعمر شبكه هاي حسگرنوعاً كوتاه است. چون طول عمر گره ها بعلت محدوديت انرژي منبع تغذيه كوتاه است. علاوه بر آن گاهي موقعيت ويژة يك گره در شبكه مشكل را تشديد مي كند مثلاً در گره ای كه در فاصل يك قدمي چاهك قرار دارد از يكطرف بخاطر بار كاري زياد خيلي زود انرژي خود را از دست مي دهد و از طرفي از كار افتادن آن باعث قطع ارتباط چاهك با كل شبكه مي شود و از كار افتادن شبكه مي شود. برخي راه حل ها به ساختار برمي گردد مثلا در مورد مشكل فوق استفاده از ساختار خودكار راهكار مؤثري است.(به بخش 2 مراجعه شود) بعلت اينكه در ساختار خودكار بيشتر تصميم گيري ها بطوري محلي انجام مي شود ترافيك انتقال از طريق گره بحراني كم شده, طول عمر آن و در نتيجه طول عمر شبكه افزايش مي يابد. مشكل تخليه زود هنگام انرژي در مورد گره هاي نواحي كم تراكم در توزيع غير يكنواخت گره ها نيز صدق مي كند (به 4 مراجعه كنيد) در اينگونه موارد داشتن يك مديريت توان در داخل گره ها و ارائه راه حل هاي توان آگاه بطوري كه از گره هاي بحراني كمترين استفاده را بكند مناسب خواهد بود. اين نوعي به اشتراك گذاري منابع محسوب مي شود لذا در صورت داشتن مدیریت وظیفه و مدیریت توان مناسب توزیع با چگالی زیاد گره ها در میدان حسگر/ کارانداز طول عمر شبکه را افزایش میدهد. ارائه الگو های ساختاري مناسب و ارائه روشهاي مديريتي و آلگوریتم ها توان آگاهبا هدف افزايش طول عمر شبكه حسگر از مباحث مهم تحقيقاتي است.
10- ارتباط بلادرنگ[12] و هماهنگي[13] : در برخي كاربردها مانند سيستم تشخيص و جلوگيري از گسترش آتش سوزي يا سيستم پيش گيري از سرقت سرعت پاسخگويي شبكه اهميت زيادي دارد. در نمايش بلادرنگ فشار بر روي مانيتور بسته هاي ارسالي بايد بطور لحظه اي روزآمد باشند. براي تحقق بلادرنگ يك روش اين است كه براي بسته هاي ارسالي يك ضرب العجل تعيين شود و در لايه كنترل دسترسي رسانه[14] بسته هاي با ضرب العجل كوتاهتر زودتر ارسال شوند مدت ضرب العجل به كاربرد بستگي دارد. مسئلة مهم ديگر تحويل گزارش رخدادها به چاهك, يا كارانداز ناحيه, به ترتيب وقوع آنهاست در غير اين صورت ممكن است شبكه واكنش درستي انجام ندهد. نكته ديگر هماهنگي كلي شبكه در ارتباط با گزارشهايي است كه در مورد يك رخداد از حسگرهاي مختلف به كاراندازهاي ناحيه مربوطه داده مي شود. بعنوان مثال در يك كاربرد نظامي فرض كنيد حسگرهايي جهت تشخيص حضور يگان هاي پياده دشمن و كاراندازهايي جهت نابودي آن در نظر گرفته شده چند حسگر حضور دشمن را به كار اندازها اطلاع مي دهند شبكه بايد در كل منطقه, عمليات را به يكباره شروع كند. در غير اين صورت با واكنش اولين كارانداز, سربازان دشمن متفرق شده و عمليات با شكست مواجه مي شود. بهرحال موضوع بلادرنگ و هماهنگي در شبكه هاي حسگربخصوص در مقياس بزرگ و شرايط نامطمئن از مباحث تحقيقاتي است.
11- امنيت[15] و مداخلات[16] : موضوع امنيت در برخي كاربردها بخصوصدر كاربرد هاي نظامي يك موضوع بحراني است و بخاطر برخي ويژگي ها شبكه هاي حسگردر مقابل مداخلات آسيب پذير ترند. يك مورد بي سيم بودن ارتباط شبكه است كه كار دشمن را براي فعاليت هاي ضد امنيتي و مداخلات آسانتر مي كند. مورد ديگر استفاده از يك فركانس واحد ارتباطي براي كل شبكه است كه شبكه را در مقابل استراق سمع آسيب پذير مي كند. مورد بعدي ويژگي پويايي توپولوژي است كه زمينه را براي پذيرش گره هاي دشمن فراهم مي كند. اينكه پروتكل هاي مربوط به مسيردهي, كنترل ترافيك و لايه كنترل دسترسي شبكه سعي دارند باهزينه و سربار[17] كمتري كار كنند مشكلات امنيتي بوجود مي آورد مثلا براي شبكه هاي حسگر در مقياس بزرگ براي كاهش تأخير بسته هايي كه در مسير طولاني در طول شبكه حركت مي كنند يك راه حل خوب اين است كه اولويت مسيردهي به بسته هاي عبوري داده شود. همين روش باعث مي شود حمله هاي سيلي[18] مؤثرتر باشد. يكي از نقاط ضعف شبكه حسگركمبود منبع انرژي است و دشمن مي تواند با قرار دادن يك گره مزاحم كه مرتب پيغام هاي بيدار باش بصورت پخش همگاني با انرژي زياد توليد مي كند باعث شود بدون دليل گره هاي همسايه از حالت خواب[19] خارج شوند. ادامة اين روند باعث به هدر رفتن انرژي گره ها شده و عمر آنها را كوتاه مي كند.با توجه به محدوديت ها بايد دنبال راه حل هاي ساده و كارا مبتني بر طبيعت شبكه حسگربود. مثلا اينكه گره ها با چگالي بالا مي توانند توزيع شوند و هر گره داراي اطلاعات كمي است يا اينكه داده ها در يك مدت كوتاه معتبرند از اين ويژگي ها مي توان بعنوان يك نقطه قوت در رفع مشكلات امنيتي استفاده كرد. اساساً چالشهاي زيادي در مقابل امنيت شبكه حسگروجود دارد. و مباحث تحقيقاتي مطرح در اين زمينه گسترده و پيچيده است.
12- عوامل پیش بینی نشده: یک شبکه حسگر کارانداز تابع تعداد زیادی از عدم قطعیت هاست. عوامل طبیعی غیر قابل پیش بینی مثل سیل زلزله, مشکلات ناشی از ارتباط بی سیم و اختلالات رادیویی, امکان خرابی هر گره, کالیبره نبودن حسگرها, پویایی ساختار و مسیردهی شبکه, اضافه شدن گره های جدید و حذف گره های قدیمی, جابجایی گره ها بطور کنترل شده یا در اثر عوامل طبیعی و غيره. سؤالی كه مطرح است این است که در این شرایط چگونه میتوان چشم اندازی فراهم کرد که از دیدگاه لایه کاربرد شبکه یک موجودیت قابل اطمینان در مقیاس بزرگ دارای کارایی عملیاتی مشخص و قابل اعتماد باشد. باتوجه به اینکه شبکه های حسگر کارانداز تا حدود زیادی بصورت مرکزی غیر قابل کنترل هستند و بصورت خودکار یا حداقل نیمه خودکار عمل میکنند باید بتوانند با مدیریت مستقل بر مشکلات غلبه کنند. از این رو باید ویژگی های خود بهینه سازی[20] خود سازماندهی[21] و خود درمانی[22] را داشته باشند. اینها از جمله مواردی هستند که بحث در مورد آنها آسان ولی تحقق آن بسیار پیچیده است. بهرحال اين موضوعات ازجمله موارد تحقیقاتی می باشند
نمونه ی پیاده سازی شده شبکه حسگر
ذره ی میکا[23] :
یک نمونه از پیاده سازی سخت افزاری گره های حسگر ذره میکا دانشگاه برکلی امریکا است.این نمونه, یک واحد حسگر کوچک (چندین اینچ مکعب) با یک واحد پردازنده مرکزی[24],منبع تغذیه,رادیو و چندین عنصر حسگر اختیاری می باشد. پردازشگر آن یک پردازنده 8- بیتی از خانواده ی اتمل[25] می باشد همراه با 128 کیلو بایت حافظه ی برنامه, 4کیلوبایت RAM برای داده 512کیلوبایت حافظه ی فلش .این پردازنده فقط یک کمینه از مجموعه دستورالعمل های ریسکRISK) )را بدون عمل ضرب, شیفت با طول متغیر و چرخش پشتیبانی می کند.رادیوی آن یک رادیوی مصرف پایین916 مگاهرتز با پهنای باند40 کیلو در ثانیه روی یک کانال تسهیم شده منفرد با محدوده ی نزدیک به 12 متر می باشد. رادیو در حالت دریافت 4.8 میلی آمپر, در حالت ارسال تا 12میلی آمپر ودر حالت خواب 5 میکرو آمپر مصرف می کند.
شکل(6) ذره میکا
ذره میکا در اندازه های مختلف وجود دارد,کوچکترین آن اغلب به عنوان غبار هوشمند[26] شناخته می شود.طرح پژوهشی غبار هوشمند که به وسیله ی پروفسور پیتستر[27]وکان[28] رهبری و هدایت می شود موفق به دستیابی حدی برای اندازه ومصرف توان[29] در گره های حسگر خود مختار شده است.کاهش اندازه برای ساختن گره های ارزان و البته تسهیل گسترش آن بسیار مهم است.گروه تحقیقاتی امیدوارند که ضمن حفظ موثر توانایی های حسگری وارتباطی می توانند موارد لازم حسگری , مخابره اطلاعات و محاسبات سخت افزاری همراه با منبع تغذیه را در اندازه ای در حدود چند میلیمتر مکعب فراهم کنند. این گره میلیمتر مکعبی غبار هوشمند نام دارد که حقیقتاَ قلمرو چیزهای ممکن شدنی است.چنان که نمونه های آتی آن می تواند به قدری کوچک باشد که معلق در هوا باقی مانده و به وسیله جریان هوا شناور شود و برای ساعت ها یا روزها موارد حس شده را ارسال کند. غبار هوشمند می تواند اطلاعات را با استفاده از یک تکنولوژی بازتابنده ی نوری جدید, به صورت غیر فعال[30] ارسال کند این یک راه معقول وارزان برای پراب[31] یک سنسور یا تایید دریافت اطلاعات را فراهم می کند ارسال نوری فعال[32] نیز ممکن است اما اتلاف انرژی بیشتری دارد.
شکل(7) ساختار داخلی غبار هوشمند
بررسي نرم ا فزارهاي شبيه سازي شبكه
امروزه تكنولوژي شبيه سازي به طرز موفقيت آميزي در جهت مدل سازي ، طراحي و مديريت انواع سيستم هاي هوشمند به كار گرفته شده و در اين راستا ابزارها و تكنيك هاي متعددي خلق شده كه به طور مثال مي توان به تكنيك شبيه سازي رويدادگردان اشاره كرد كه اساس عملكرد بسياري ازشبيه سازهاي نوين مي باشد. كاربرد شبيه سازي در مورد شبكه هاي ارتباطي نيز سابقه اي 15 ساله دارد كه هنوز هم در حال رشد مي باشد ، دلايل استفاده از شبيه سازي در اين حوزه را مي توان در دو مورد خلاصه كرد :
1-پيدايش و گسترش شبكه هايي باتكنولوژي پيچيده
2-خلق ابزار ها و نرم افزارهاي خاص شبيه سازي شبكه ها
نرم افزارهای شبیه ساز شبکه توانايي شبيه سازي شبكه هاي ارتباطي را بدون نياز به كد نويسي و معمولآ از طريق واسط هاي گرافيكي فراهم مي كنند. وجود عناصر شبيه سازي شده اي متناظر با عناصر واقعي ( روترها و سوئيچ ها ، ... ) در اين گونه موارد علاوه بر بالا بردن دقت ، باعث افزايش سهولت و سرعت در فرآيند شبيه سازي مي شود و به اين ترتيب براي كاربران ناآشنا با فن برنامه نويسي بسيار مناسب مي باشد.
خصوصيات لازم براي شبيه سازهاي شبكه:
خصوصياتي كه شبيه سازهاي شبكه بايد داشته باشند عبارتند از :
1-انعطاف در مدل سازي :
كاربر بايد قادر باشد انواع جديدي از منابع معمول شبكه همچون گره ها ، لينك ها و پروتكل ها را به مجموعه موجود در شبيه ساز بيفزايد.
2-سهولت در مدل سازي :
وجود واسط گرافيكي و امكان مدلسازي به صورت ساخت يافته ، به شكلي كه مدل هاي پيچيده بر اساس مدلهاي ساده طرح شوند و همچنين قابليت استفاده مجدد از ماژول ها از خصوصياتي مي باشد كه باعث تسريع در فرآيند شبيه سازي مي گردند.
3-اجراي سريع مدل ها :
زمان پردازش در شبيه سازي هاي بزرگ براي شبكه هايي با تعداد زياد گره بسيار مهم مي باشد كه لازمه آن مديريت صحيح حافظه مي باشد.
4-قابليت مصور سازي :
نمايش گرافيكي عناصر شبكه در حال تبادل پيغام ها با يكديگر به رفع خطاهاي شبيه سازي و درك نحوه كاركرد آن بسيار كمك مي كند. در برخي نرم افزارهاي شبيه ساز اجراي مصور سازي همزمان با اجراي شبيه ساز و در برخي ديگر پس از انجام آن و به صورت Play Back انجام مي گيرد.
5- قابليت اجراي مجدد و تكراري شبيه سازي :
هدف از انجام شبيه سازي به طور عمده تحقيق تآثير يك يا چند پارامتر (براي مثال متوسط طول بسته ها و يا ظرفيت بافرها) بر كارايي شبكه مي باشد و به همين خاطر تكرار پذيري يك شرط لازم براي اين نرم افزارها مي باشد. در مجموع بايد توجه داشت كه خلق يك شبيه ساز شبكه دقيق و معتبر مستلزم بكارگيري تكنولوژي شبيه سازي در كنار دانش شبكه و پروتكل هاي آن مي باشد.البته در كنار خصوصيات فوق وجود برخي قابليت ها بر ارزش هر ابزار شبيه ساز خواهد افزود كه از آن ميان مي توان به چند مورد اشاره ذيل اشاره كرد :
1- وجود ماژول هاي دروني از پيش آماده شده متناظر با عناصر و پروتكل هاي شبكه .
2-وجود يك مولد عدد تصادفي و در شكل هاي پيشرفته تر قابليت خلق كميت هاي با توزيع هاي تصادفي گوناگون چرا كه اغلب رخدادها در يك فرآيند شبيه سازي اعم از توليد و ارسال بسته ها و يا ايجاد خرابي در آنها ، از نوع فرآيندهاي تصادفي مي باشند.
3-حمايت از كاربران به بهنگام سازي هاي به موقع (بخصوص در مورد پروتكلهاي جديد) بهمراه مستندات كامل و گويا.
4- ارائه گزارشهايي از پارامتر هاي كارايي شبكه (نرخ خروجي، بهره وري ، تآخير انتقال،...) در قالب ارقام و منحني ها به همراه امكان انجام عمليات آماري روي نتايج از ديگر ويژگي هاي مثبت يك شبيه ساز مي باشد.
شبيه ساز NS(v2):
شروع به كار اين نرم افزار به پيش از پروژه VINT مربوط مي گردد.شبيه ساز NS در سال 1989توسط گروه تحقيقاتي شبكه NRG در آزمايشگاه LBNL و بر اساس شبيه ساز شبكه ديگري موسوم به REAL طراحي شده است كه توسعه آن تا امروز ادامه داشته و بخصوص پس از انتخاب شدن به عنوان ابزار شبيه ساز پروژه VINT جديت و سرعت يافته است.آخرين نسخه آن NS 2.1b8 روي شبكه اينترنت قابل دسترسي مي باشد.
معماري دروني NS:
NS2 از گونه شبيه سازهاي رويدادگردان مي باشد و از طريق پيگيري رخدادها در طول زمان هاي گسسته ، شبيه سازي را پيش مي برد اين شبيه ساز در دو محيط برنامه نويسي C++ و OTCL و بصورت شيئ گرا طرح شده .NS بر اساس مدلي موسوم به VuSystem كار مي كند كه در ادامه به طور خلاصه در مورد آن توضيح مي دهيم.
مدل VuSystem:
شبيه سازهاي شبكه عمدتآ از دو بخش با تمايلات گوناگون تشكيل يافته اند :
1-گروهي از بلاك هاي سازنده كه عناصري همچون گره ها ، لينك ها ، صف ها ، مولدهاي ترافيك و پروتكل ها را شبيه سازي مي كنند.
2-يك رابط كه معمولآ از آن تحت عنوان زبان تشريح شبيه سازي يا SDL ياد مي شود و وظيفه دارد بلوك هاي سازنده فوق را در فرآيند شبيه سازي به يكديگر متصل كند.
در مورد اين دو بخش يك مشكل اساسي پيش روي طراحان شبيه سازهاي شبكه وجود دارد. در حالي كه براي بلوك هاي سازنده كارايي و سرعت اجرا هدف اصلي مي باشد.SDL نيازمند انعطاف و سهولت تغيير در پيكر بندي مي باشد و نيل به اين دو هدف با يك محيط برنامه نويسي واحد مشكل مينمايد.بنابراين مدل VuSystem كه توسط David Wetherall در دانشگاه MIT پيشنهاد شده ، راه حل را در استفاده از دو محيط برنامه نويسي جداگانه براي دو بخش فوق مي داند.مطابق اين مدل بلوك هاي سازنده با يك زبان كامپايلي (براي مثال C++ ) و بخش رابط آنها در يك محيط مفسري (مانند OTCL) پياده سازي مي شوند.
طراحان NS-2 با بكار گيري مجموعه اي از اشياء موسوم به اشياء دو تكه موفق به اعمال مدل VuSystem در شبيه ساز خويش گشته اند . مطابق اين مدل NS-2 متشكل از مجموعه اي از اشياء مي باشد كه در دو محيط دوگانه كامپايلي/ مفسري و از طريق فراخواني متدهاي يكديگر ، ارتباط برقرار مي كنند.
شبيه ساز :OMNeT++
OMNeT++ يك شبيه ساز شيئ گرا مي باشد و از دسته نرم افزارهاي discrete event است.++ OMNeT مخفف Objective Modular Network است و مبتني بر C++ است. چون اين نرم افزار در محيط C++ نوشته شده است در اغلب محيط ها باكامپايلر C++ قابل اجرا مي باشد. به وسيله DoS و X- windowپشتيباني شده و به Win3.1 و Win95 و WinNT قابل حمل است. نويسنده اين نرم افزار با يك شركت مجارستاني توزيع كننده OPNETهمكاري داشته است. اين فرد عضو چندين پروژه شبيه سازي شبكه بوده و مدل شبيه سازي سيستم VSAT در OPNET را نوشته است. از لحاظ ساختاري اين نرم افزار سلسله مراتبي از ماژول هاي تو در تو مي باشد كه ماژول ها از طريق تبادل پيغام با يكديگر در ارتباط هستند. در پائين ترين سطح اين سلسله مراتب ماژول هاي خود كاربر قابل ايجاد مي باشند. مي تواند اجراي شبيه سازي را به صورت موازي پيش ببرد.با اين نرم افزار هر نوع مكانيزم زمانبندي قابل بكار گيري است.زبان متني براي توصيف توپولوژي دارد كه به آن NED گويند و بوسيله هر ابزار پردازشگر متني (مانند perl و awk) قابل ايجاد است. همين فرمت بوسيله اديتور گرافيكي قابل بكار گيري است. ++OMNeT واسط قوي براي ديباگ كردن و تريس كردن فراهم مي كند.
همان طور كه ذكر شد OMNeT++ ساختار ماژولي دارد بنابراين تمام ابزار مورد نياز در قالب ماژول هستند.اين ماژول ها ساختار سلسله مراتبي دارند. در بالاترين سطح ماژول سيستم قرار دارد. ماژول سيستم حاوي زير ماژول ها مي باشد.كه اين زير ماژول ها مي توانند حاوي زير ماژول هاي ديگري باشند الي آخر.شمايي از ساختار ماژولي در شكل آمده است.عمق ماژول هاي تو در تو محدود نيست.بنابراين كاربر مي تواند مدل منطقي سيستم واقعي خود را پياده سازي كند.
شکل(8)
دو نوع ماژول داريم ماژول هاي مركب و ساده .ماژولهاي مركب همانطور كه از نامش پيداست به ماژول هايي گفته مي شود كه زير ماژول ها را در بر دارند.ماژول هاي ساده ماژول هايي هستند كه بوسيله خود كاربر ايجاد مي شوند.در حقيقت ماژول هاي ساده الگوريتم هاي مدل هستند.
همه ماژول هاي سيستم در قالبي به نام module type هستند. كاربر براي توصيف مدل modul type ها را به كار مي گيرد ( نمونه هايي از module type را براي ايجاد module type هاي پيچيده تر بكار مي گيرد). در مجموع ماژول سيستم نمونه اي از module type هاي از پيش تعريف شده است.زماني كه module type به عنوان بلاك سازنده بكار گرفته شود تفاوتي بين ماژول ساده و ماژول مركب نيست. بدين مفهوم كه كاربر براي سادگي مي تواند يك ماژول ساده را به چندين ماژول ساده بشكند و در قالب يك ماژول مركب بگنجاند يا برعكس قابليت هاي يك ماژول مركب را در يك ماژول ساده خلاصه كند.
همان طور كه ذكر شد ماژول ها از طريق تبادل پيغام با يكديگر ارتباط برقرار مي كنند.در شبكه واقعي پيام ها مي توانند فريم ها يا بسته ها باشند. ماژول هاي ساده از طريق ارسال مستقيم پيغام يا به كمك مسيرهاي از پيش تعريف شده با يكديگر در ارتباط هستند.گيت ها واسط هاي ماژول ها هستند كه داراي بافر مي باشند و