Friday, March 18, 2011

Collaborative Workshopbetween Department of Informatics, University of Bergen and Department of Electrical Engineering, Sharif University of Technology

Collaborative Workshop

Collaborative Workshopbetween Department of Informatics, University of Bergen and Department of Electrical Engineering, Sharif University of Technology
Date & Location
Wednesday, 4th of May, 2011 (Ordibehesht 14, 1390)
Kahroba Hall, EE Dep, Sharif Uni of Tech.

Presentations Schedule
Prof. Tor Helleseth: Sequences and Stream Ciphers Generals
Prof. Torleiv Kløve: Error Detection in Coding Theory
Dr. Aleksander Kholosha: Pomoranch Stream Cipher Designer
Dr. Irina Naydenova: Coding Theory Aspects
Mr. Seyyed Mehdi Hassanzadeh (PhD student): New Statistical Tests for Cryptographic Primitives
Mr. Mohammad Reza Sohizadeh Abyaneh (PhD Student): Lightweight Cryptography
Mrs. Somayeh Salimi (PhD Student): Secret key sharing from the information theoretic point of view
Mr. Farshid Farhat (PhD Student): Security Improvement of Routing Protocols in Ad hoc Networks
Mr. Mohammad Ehdaie (PhD Student): Key Pre-Distribution Schemes for Wireless Sensor Networks
Mr. Mahdi Alaghband (PhD Student): Key management infrastructures in heterogeneous wireless sensor networks
Ms. Maryam Rajabzadeh Assar (PhD Student): Design and Analysis of Electronic Voting Protocols
Ms. Zahra Ahmadian (PhD Student): Distinguishing Attack on Shannon cipher

Sponsors
Center of Excellence in Cryptology
Cryptology Chair of Iranian National Science Foundation
Student Branch of Iranian Society of Cryptology
At
Department of Electrical Engineering
Sharif University of Technology

REGISTER NOW

Friday, February 4, 2011

داستانهای کوتاه

یه روز مسوول فروش، منشی دفتر، و مدیر شرکت برای ناهار به سمت سلف سرویس قدم می زدند
یهو یه چراغ جادو روی زمین پیدا می کنن و روی اون رو مالش میدن و جن چراغ ظاهر میشه
جن میگه: من برای هر کدوم از شما یک آرزو برآورده می کنم
منشی می پره جلو و میگه: اول من، اول من!
من می خوام که توی باهاماس باشم، سوار یه قایق بادبانی شیک باشم و هیچ نگرانی و غمی از دنیا نداشته باشم!
پوووف! منشی ناپدید میشه ...
بعد مسوول فروش می پره جلو و میگه: حالا من، حالا من
من می خوام توی هاوایی کنار ساحل لم بدم، یه ماساژور شخصی و یه منبع بی انتهای نوشیدنی! داشته باشم و تمام عمرم حال کنم ...
پوووف! مسوول فروش هم ناپدید میشه
بعد جن به مدیر میگه: حالا نوبت توئه
مدیر میگه: من می خوام که اون دو تا هر دوشون بعد از ناهار توی شرکت باشن !!!

نتیجه اخلاقی : همیشه اجازه بده که رئیست اول صحبت کنه !

 

درس دوم :
یه روز یه کشیش به یه راهبه پیشنهاد می کنه که با ماشین برسوندش به مقصدش
راهبه سوار میشه و راه میفتن
چند دقیقه بعد راهبه پاهاش رو روی هم میندازه و کشیش زیر چشمی یه نگاهی به پای راهبه میندازه
راهبه میگه: پدر روحانی، روایت مقدس ۱۲۹ رو به خاطر بیار …!
کشیش قرمز میشه و به جاده خیره میشه
چند دقیقه بعد بازم شیطون وارد عمل میشه و کشیش موقع عوض کردن دنده، بازوش رو با پای راهبه تماس میده …!
راهبه باز میگه: پدر روحانی! روایت مقدس ۱۲۹ رو به خاطر بیار!!!
کشیش زیر لب یه فحش میده و بیخیال میشه و راهبه رو به مقصدش می رسونه
بعد از اینکه کشیش به کلیسا بر می گرده سریع میدوه و از توی کتاب روایت مقدس ۱۲۹ رو پیدا می کنه و می بینه که نوشته: به پیش برو و عمل خود را پیگیری کن… کار خود را ادامه بده و بدان که به جلال و شادمانی که می خواهی میرسی!!!

نتیجه اخلاقی : اگه توی شغلت از اطلاعات شغلی خودت کاملا آگاه نباشی، فرصتهای بزرگی رو از دست میدی !

 

درس سوم :
بلافاصله بعد از اینکه زن پیتر از زیر دوش حمام بیرون اومد پیتر وارد حمام شد
همون موقع زنگ در خونه به صدا در اومد
زن پیتر یه حوله دور خودش پیچید و رفت تا در رو باز کنه
همسایه شون -رابرت- پشت در ایستاده بود
تا رابرت زن پیتر رو دید گفت: همین الان ۱۰۰۰ دلار بهت میدم اگه اون حوله رو بندازی زمین!
بعد از چند لحظه، زن پیتر حوله رو میندازه و رابرت چند ثانیه تماشا می کنه و ۱۰۰۰ دلار به زن پیتر میده و میره …!
زن دوباره حوله رو دور خودش پیچید و برگشت
پیتر پرسید: کی بود زنگ زد؟ زن جواب داد: رابرت همسایه مون بود
پیتر گفت: خوبه… چیزی در مورد ۱۰۰۰ دلاری که به من بدهکار بود گفت؟!

نتیجه اخلاقی : اگه شما اطلاعات حساس مشترک با کسی دارید که به اعتبار و آبرو مربوط میشه، همیشه باید در وضعیتی باشید که بتونید از اتفاقات قابل اجتناب جلوگیری کنید !

 

درس چهارم :
من خیلی خوشحال بودم !
من و نامزدم قرار ازدواجمون رو گذاشته بودیم. والدینم خیلی کمکم کردند، دوستانم خیلی تشویقم کردند و نامزدم هم دختر فوق العاده ای بود
فقط یه چیز من رو یه کم نگران می کرد و اون هم خواهر نامزدم بود…!
اون دختر باحال، زیبا و جذابی بود که گاهی اوقات بی پروا با من شوخی های ناجوری می کرد و باعث می شد که من احساس راحتی نداشته باشم
یه روز خواهر نامزدم با من تماس گرفت و از من خواست که برم خونه شون برای انتخاب مدعوین عروسی !
سوار ماشینم شدم و وقتی رفتم اونجا اون تنها بود و بلافاصله رک و راست به من گفت :
اگه همین الان ۵۰۰ دلار به من بدی بعدش حاضرم با تو …………….!
من شوکه شده بودم و نمی تونستم حرف بزنم
اون گفت: من میرم توی اتاق خواب و اگه تو مایل به این کار هستی بیا پیشم
وقتی که داشت از پله ها بالا می رفت من بهش خیره شده بودم و بعد از رفتنش چند دقیقه ایستادم و بعد به طرف در ساختمون برگشتم و از خونه خارج شدم…!
یهو با چهره نامزدم و چشمهای اشک آلود پدر نامزدم مواجه شدم!!!
پدر نامزدم من رو در آغوش گرفت و گفت: تو از امتحان ما موفق بیرون اومدی…!
ما خیلی خوشحالیم که چنین دامادی داریم و هیچکس رو بهتر از تو نمی تونستیم برای دخترمون پیدا کنیم. به خانوادهء ما خوش اومدی !!!

نتیجه اخلاقی : همیشه سعی کنید کیف پولتون رو توی داشبورد ماشینتون بذارید شاید براتون شانس بیاره !

 

درس پنجم :
یه شب خانم خونه به خونه بر نمیگرده و تا صبح پیداش نمیشه!
صبح بر میگرده خونه و به شوهرش میگه كه دیشب مجبور شده خونه یكی از دوستهای صمیمیش (مونث) بمونه
شوهر بر میداره به ۲۰ تا از صمیمی ترین دوستهای زنش زنگ میزنه ولی هیچكدومشون حرف خانم خونه رو تایید نمیكنن!
یه شب آقای خونه تا صبح برنمیگرده خونه. صبح وقتی میاد به زنش میگه كه دیشب مجبور شده خونه یكی از دوستهای صمیمیش (مذكر) بمونه
خانم خونه بر میداره به ۲۰ تا از صمیمی ترین دوستهای شوهرش زنگ میزنه : ۱۵ تاشون تایید میكنن كه آقا تمام شب رو خونه ی اونا مونده! ۵ تای دیگه حتی میگن كه آقا هنوزم خونه اونا پیش اوناست !!!

نتیجه اخلاقی : یادتون باشه كه مردها دوستهای بهتری برای همدیگه هستند !

 

درس ششم :
چهار تا دوست كه ۳۰ سال بود همدیگه رو ندیده بودند توی یه مهمونی همدیگه رو می بینن و شروع می كنن در مورد زندگی هاشون برای همدیگه تعریف کردن
بعد از مدتی یكی از اونا بلند میشه میره دستشویی. سه تای دیگه صحبت رو می كشونن به تعریف از فرزندانشون :
اولی: پسر من باعث افتخار و خوشحالی منه. اون توی یه كار عالی وارد شد و خیلی سریع پیشرفت كرد.
پسرم درس اقتصاد خوند و توی یه شركت بزرگ استخدام شد و پله های ترقی رو سریع بالا رفت و حالا شده معاون رئیس و اونقدر پولدار شده كه حتی برای تولد بهترین دوستش یه مرسدس بنز بهش هدیه داد !
دومی: جالبه. پسر من هم مایه افتخار و سرفرازی منه. توی یه شركت هواپیمایی مشغول به كار شد و بعد دوره خلبانی گذروند و سهامدار شركت شد و الان اكثر سهام اون شركت رو تصاحب كرده... پسرم اونقدر پولدار شد كه برای تولد صمیمیترین دوستش یه هواپیمای خصوصی بهش هدیه داد !!!
سومی: خیلی خوبه. پسر من هم باعث افتخار من شده
اون توی بهترین دانشگاههای جهان درس خوند و یه مهندس فوق العاده شد. الان یه شركت ساختمانی بزرگ برای خودش تاسیس كرده و میلیونر شده. پسرم اونقدر وضعش خوبه كه برای تولد بهترین دوستش یه ویلای ۳۰۰۰ متری بهش هدیه داد!
هر سه تا دوست داشتند به همدیگه تبریك می گفتند كه دوست چهارم برگشت سر میز و پرسید این تبریكات به خاطر چیه؟!
سه تای دیگه گفتند: ما در مورد پسرهامون كه باعث غرور و سربلندی ما شدن صحبت كردیم راستی تو در مورد فرزندت چی داری تعریف كنی؟!
چهارمی گفت: دختر من رقاص کاباره شده و شبها با دوستاش توی یه كلوپ مخصوص كار میكنه!
سه تای دیگه گفتند: اوه مایه خجالته چه افتضاحی !!!
دوست چهارم گفت: نه! من ازش ناراضی نیستم. اون دختر منه و من دوستش دارم... در ضمن زندگی بدی هم نداره.
اتفاقا همین دو هفته پیش به مناسبت تولدش از سه تا از صمیمی ترین دوست پسراش یه مرسدس بنز و یه هواپیمای خصوصی و یه ویلای ۳۰۰۰ متری هدیه گرفت !!!

نتیجه اخلاقی : هیچوقت به چیزی كه كاملا در موردش مطمئن نیستی افتخار نكن !

 

درس هفتم :
توی اتاق رختكن كلوپ گلف، وقتی همه آقایون جمع بودند یهو یه موبایل روی یه نیمكت شروع میكنه به زنگ زدن.
مردی كه نزدیك موبایل نشسته بود دكمه اسپیكر موبایل رو فشار میده و شروع می كنه به صحبت
بقیه آقایون هم مشغول گوش كردن به این مكالمه میشن ...
مرد: الو؟
صدای زن اونطرف خط: الو سلام عزیزم. تو هنوز توی كلوپ هستی؟
مرد: آره !
زن: من توی فروشگاه بزرگ هستم
اینجا یه كت چرمی خوشگل دیدم كه فقط ۱۰۰۰ دلاره! اشكالی نداره اگه بخرمش؟
مرد : نه. اگه اونقدر دوستش داری اشكالی نداره!
زن: من یه سری هم به نمایشگاه مرسدس بنز زدم و مدلهای جدید ۲۰۰۶ رو دیدم... یكیشون خیلی قشنگ بود قیمتش ۲۶۰۰۰۰ دلار بود !
مرد: باشه. ولی با این قیمت سعی كن ماشین رو با تمام امكانات جانبی بخری !
زن: عالیه. اوه یه چیز دیگه، اون خونه ای رو كه قبلا میخواستیم بخریم دوباره توی بنگاه گذاشتن برای فروش. میگن ۹۵۰۰۰۰ دلاره
مرد: خب… برو تا فروخته نشده پولشو بده. ولی سعی كن ۹۰۰۰۰۰ دلار بیشتر ندی !!!
زن: خیلی خوبه. بعدا می بینمت عزیزم. خداحافظ
مرد: خداحافظ
بعدش مرد یه نگاهی به آقایونی كه با حسرت نگاهش میكردن میندازه و میگه: كسی نمیدونه كه این موبایل مال كیه ؟!

نتیجه اخلاقی : هیچوقت موبایلتونو جایی جا نذارین !

 

درس هشتم :
یه زوج ۶۰ ساله به مناسبت سی و پنجمین سالگرد ازدواجشون رفته بودند بیرون كه یه جشن كوچیك دو نفره بگیرن.
وقتی توی پارك زیر یه درخت نشسته بودند یهو یه فرشته كوچیك خوشگل جلوشون ظاهر شد و گفت: چون شما همیشه یه زوج فوق العاده بودین و تمام مدت به همدیگه وفادار بودین من برای هر كدوم از شما یه دونه آرزو برآورده میكنم!
زن از خوشحالی پرید بالا و گفت:
چه عالی! من میخوام همراه شوهرم به یه سفر دور دنیا بریم
فرشته چوب جادوییش رو تكون داد و پوف! دو تا بلیط درجه اول برای بهترین تور مسافرتی دور دنیا توی دستهای زن ظاهر شد !
حالا نوبت شوهر بود كه آرزو كنه.
مرد چند لحظه فكر كرد و گفت:
این خیلی رمانتیكه ولی چنین بخت و شانسی فقط یه بار توی زندگی آدم پیش میاد
بنابراین خیلی متاسفم عزیزم آرزوی من اینه كه یه همسری داشته باشم كه ۳۰ سال از من كوچیكتر باشه
زن و فرشته جا خوردند و خیلی دلخور شدند. ولی آرزو آرزوئه و باید برآورده بشه.
فرشته چوب جادوییش رو تكون داد و پوف! مرد ۹۰ سالش شد !!!

نتیجه اخلاقی : مردها ممكنه زرنگ و بدجنس باشند، ولی فرشته ها زن هستند !

 

درس نهم :
یه مرد ۸۰ ساله میره برای چكاپ. دكتر ازش در مورد وضعیت فعلیش می پرسه و پیرمرد با غرور جواب میده:
هیچوقت به این خوبی نبودم. تازگیا با یه دختر ۲۵ ساله ازدواج كردم و حالا باردار شده و كم كم داره موقع زایمانش میرسه
نظرت چیه دكتر؟!
دكتر چند لحظه فكر میكنه و میگه: خب بذار یه داستان برات تعریف كنم. من یه نفر رو می شناسم كه شكارچی ماهریه. اون هیچوقت تابستونا رو برای شكار كردن از دست نمیده. یه روز كه می خواسته بره شكار از بس عجله داشته اشتباهی چترش رو به جای تفنگش بر میداره و میره توی جنگل! همینطور كه میرفته جلو یهو از پشت درختها یه پلنگ وحشی ظاهر میشه و میاد به طرفش. شكارچی چتر رو می گیره به طرف پلنگ و نشونه می گیره و ….. بنگ! پلنگ كشته میشه و میفته روی زمین!!!
پیرمرد با حیرت میگه: این امكان نداره! حتما یه نفر دیگه پلنگ رو با تیر زده!
دكتر یه لبخند میزنه و میگه: دقیقا منظور منم همین بود !!!

نتیجه اخلاقی : هیچوقت در مورد چیزی كه مطمئن نیستی نتیجه كار خودته ادعا نداشته نباش !

 

درس دهم :
روزی مردی ثروتمند در اتومبیل جدید و گران قیمت خود با سرعت فراوان از خیابان کم رفت و آمدی می گذشت.
ناگهان از بین دو اتومبیل پارک شده در کنار خیابان یک پسر بچه پاره آجری به سمت او پرتاب کرد. پاره آجر به اتومبیل او برخورد کرد!
مرد پایش را روی ترمز گذاشت و سریع پیاده شد و دید که اتومبیلش صدمه زیادی دیده است. به طرف پسرک رفت و او را سرزنش کرد.
پسرک گریان با تلاش فراوان بالاخره توانست توجه مرد را به سمت پیاده رو، جایی که برادر فلجش از روی صندلی چرخدار به زمین افتاده بود جلب کند.
پسرک گفت: "اینجا خیابان خلوتی است و به ندرت کسی از آن عبور می کند. برادر بزرگم از روی صندلی چرخدارش به زمین افتاده و من زور کافی برای بلند کردنش ندارم".
"برای اینکه شما را متوقف کنم ناچار شدم از این پاره آجر استفاده کنم".
مرد بسیار متاثر شد و از پسر عذر خواهی کرد. برادر پسرک را بلند کرد و روی صندلی نشاند و سوار اتومبیل گرانقیمتش شد و به راهش ادامه داد ...

نتیجه اخلاقی : خدا در روح ما زمزمه می کند و با قلب ما حرف می زند. اما بعضی اوقات زمانی که وقت نداریم به ندای قلبمان گوش کنیم، او مجبور می شود بگونه ای عمل کند که شاید به مزاقمان خوش نیاید ... در زندگی چنان با سرعت حرکت نکنید که دیگران مجبور ....

عمر بشوری، بسابی، بچه بزرگ کنی، آخرشم که مُردی عکس شوهرتو بزارن رو اعلامیه ات

 

 

اشتباه فرشتگان

درويشي به اشتباه فرشتگان به جهنم فرستاده ميشود .

پس از اندك زماني داد شيطان در مي آيد و رو به فرشتگان مي كند و مي گويد : جاسوس مي فرستيد به جهنم!؟

از روزي كه اين ادم به جهنم آمده مداوم در جهنم در گفتگو و بحث است و جهنميان را هدايت مي كند و....

حال سخن درويشي كه به جهنم رفته بود اين چنين است: با چنان عشقي زندگي كن كه حتي بنا به تصادف اگر به جهنم افتادي خود شيطان تو را به بهشت باز گرداند.

 
 
 
 


---------------------------------------------------------------------------

مرد کور


روزی مرد کوری روی پله‌های ساختمانی نشسته و کلاه و تابلویی را در کنار پایش قرار داده بود روی تابلو خوانده میشد: من کور هستم لطفا کمک کنید . روزنامه نگارخلاقی از کنار او میگذشت نگاهی به او انداخت فقط چند سکه د ر داخل کلاه بود..او چند سکه داخل کلاه انداخت و بدون اینکه از مرد کور اجازه بگیرد تابلوی او را برداشت ان را برگرداند و اعلان دیگری روی ان نوشت و تابلو را کنار پای او گذاشت و انجا را ترک کرد. عصر انروز روز نامه نگار به ان محل برگشت و متوجه شد که کلاه مرد کور پر از سکه و اسکناس شده است مرد کور از صدای قدمهای او خبرنگار را شناخت و خواست اگر او همان کسی است که ان تابلو را نوشته بگوید ،که بر روی ان چه نوشته است؟روزنامه نگار جواب داد:چیز خاص و مهمی نبود،من فقط نوشته شما را به شکل دیگری نوشتم و لبخندی زد و به راه خود ادامه داد. مرد کور هیچوقت ندانست که او چه نوشته است ولی روی تابلوی او خوانده میشد:

امروز بهار است، ولی من نمیتوانم آنرا ببینم !!!!!

وقتی کارتان را نمیتوانید پیش ببرید استراتژی خود را تغییر بدهید خواهید دید بهترینها ممکن خواهد شد باور داشته باشید هر تغییر بهترین چیز برای زندگی است.
حتی برای کوچکترین اعمالتان از دل،فکر،هوش و روحتان مایه بگذارید این رمز موفقیت است .... لبخند بزنید

---------------------------------------------------------------------------
 
 

یکی از بستگان خدا

شب کریسمس بود و هوا، سرد و برفی.

پسرک، در حالی‌که پاهای برهنه‌اش را روی برف جابه‌جا می‌کرد تا شاید سرمای برف‌های کف پیاده‌رو کم‌تر آزارش بدهد، صورتش را چسبانده بود به شیشه سرد فروشگاه و به داخل نگاه می‌کرد.

در نگاهش چیزی موج می‌زد، انگاری که با نگاهش ، نداشته‌هاش رو از خدا طلب می‌کرد، انگاری با چشم‌هاش آرزو می‌کرد.

خانمی که قصد ورود به فروشگاه را داشت، کمی مکث کرد و نگاهی به پسرک که محو تماشا بود انداخت و بعد رفت داخل فروشگاه. چند دقیقه بعد، در حالی‌که یک جفت کفش در دستانش بود بیرون آمد..
- آهای، آقا پسر!
پسرک برگشت و به سمت خانم رفت... چشمانش برق می‌زد وقتی آن خانم، کفش‌ها را به ‌او داد.پسرک با چشم‌های خوشحالش و با صدای لرزان پرسید:
- شما خدا هستید؟
- نه پسرم، من تنها یکی از بندگان خدا هستم!
- آها، می‌دانستم که با خدا نسبتی دارید!


---------------------------------------------------------------------------
 
 

نخستين درس مهم - زن نظافتچى

 من دانشجوى سال دوم بودم. يک روز سر جلسه امتحان وقتى چشمم به سوال آخر افتاد، خنده‌ام گرفت. فکر کردم استاد حتماً قصد شوخى کردن داشته است. سوال اين بود: «نام کوچک زنى که محوطه دانشکده را نظافت می‌کند چيست؟»
من آن زن نظافتچى را بارها ديده بودم. زنى بلند قد، با موهاى جو گندمى و حدوداً شصت ساله بود... امّا نام کوچکش را از کجا بايد می‌دانستم؟
من برگه امتحانى را تحويل دادم و سوال آخر را بی‌جواب گذاشتم. درست قبل از آن که از کلاس خارج شوم دانشجويى از استاد سوال کرد آيا سوال آخر هم در بارم‌بندى نمرات محسوب می‌شود؟
استاد گفت: حتماً و ادامه داد: شما در حرفه خود با آدم‌هاى بسيارى ملاقات خواهيد کرد. همه آن‌ها مهم هستند و شايسته توجه و ملاحظه شما می‌باشند، حتى اگر تنها کارى که می‌کنيد لبخند زدن و سلام کردن به آن‌ها باشد.
من اين درس را هيچگاه فراموش نکرده‌ام. 

------------------------------------------------------------------------------------------------------------------------

دومين درس مهم- کمک در زير باران

يک شب، حدود ساعت ٥/١١ بعدازظهر، يک زن مسن سياه پوست آمريکايى در کنار يک بزرگراه و در زير باران شديدى که می‌باريد ايستاده بود. ماشينش خراب شده بود و نيازمند استفاده از وسيله نقليه ديگرى بود. او که کاملاً خيس شده بود دستش را جلوى ماشينى که از روبرو می‌آمد بلند کرد. راننده آن ماشين که يک جوان سفيدپوست بود براى کمک به او توقف کرد. البته بايد توجه داشت که اين ماجرا در دهه ١٩٦٠ و اوج تنش‌هاى ميان سفيدپوستان و سياه‌پوستان در آمريکا بود. مرد جوان آن زن سياه‌پوست را به داخل ماشينش برد تا از زير باران نجات يابد و بعد مسيرش را عوض کرد و به ايستگاه قطار رفت و از آن جا يک تاکسى براى زن گرفت و او را کمک کرد تا سوار تاکسى شود.
 
زن که ظاهراً خيلى عجله داشت از مرد جوان تشکر کرد و آدرس منزلش را پرسيد. چند روز بعد، مرد جوان در خانه بود که صداى زنگ در برخاست.. با کمال تعجب ديد که يک تلويزيون رنگى بزرگ برايش آورده‌اند. يادداشتى هم همراهش بود با اين مضمون:
«از شما به خاطر کمکى که آن شب به من در بزرگراه کرديد بسيار متشکرم. باران نه تنها لباس‌هايم که روح و جانم را هم خيس کرده بود. تا آن که شما مثل فرشته نجات سر رسيديد... به دليل محبت شما، من توانستم در آخرين لحظه‌هاى زندگى همسرم و درست قبل از اين که چشم از اين جهان فرو بندد در کنارش باشم.. به درگاه خداوند براى شما به خاطر کمک بی‌شائبه به ديگران دعا می‌کنم.»

     ارادتمند       
خانم نات کينگ ‌کول


-------------------------------------------------------------------------------

سومين درس- هميشه کسانى که خدمت می‌کنند را به ياد داشته باشيد

 در روزگارى که بستنى با شکلات به گرانى امروز نبود، پسر ١٠ ساله‌اى وارد قهوه فروشى هتلى شد و پشت ميزى نشست.. خدمتکار براى سفارش گرفتن سراغش رفت.
 
- پسر پرسيد: بستنى با شکلات چند است؟
 
- خدمتکار گفت: ٥٠ سنت
پسر کوچک دستش را در جيبش کرد، تمام پول خردهايش را در آورد و شمرد. بعد پرسيد:
- بستنى خالى چند است؟
خدمتکار با توجه به اين که تمام ميزها پر شده بود و عده‌اى بيرون قهوه فروشى منتظر خالى شدن ميز ايستاده بودند، با بی‌حوصلگى گفت:
- ٣٥ سنت
- پسر دوباره سکه‌هايش را شمرد و گفت:
- براى من يک بستنى بياوريد.
خدمتکار يک بستنى آورد و صورت‌حساب را نيز روى ميز گذاشت و رفت. پسر بستنى را تمام کرد، صورت‌حساب را برداشت و پولش را به صندوق‌دار پرداخت کرد و رفت. هنگامى که خدمتکار براى تميز کردن ميز رفت، گريه‌اش گرفت. پسر بچه روى ميز در کنار بشقاب خالى، ١٥ سنت براى او انعام گذاشته بود.
 يعنى او با پول‌هايش می‌توانست بستنى با شکلات بخورد امّا چون پولى براى انعام دادن برايش باقى نمی‌ماند، اين کار را نکرده بود و بستنى خالى خورده بود.

 -----------------------------------------------


چهارمين درس مهم- مانعى در مسير

 در روزگار قديم، پادشاهى سنگ بزرگى را که در يک جاده اصلى قرار داد.. سپس در گوشه‌اى قايم شد تا ببيند چه کسى آن را از جلوى مسير بر می‌دارد. برخى از بازرگانان ثروتمند با کالسکه‌هاى خود به کنار سنگ رسيدند، آن را دور زدند و به راه خود ادامه دادند. بسيارى از آن‌ها نيز به شاه بد و بيراه گفتند که چرا دستور نداده جاده را باز کنند. امّا هيچيک از آنان کارى به سنگ نداشتند...
 
سپس يک مرد روستايى با بار سبزيجات به نزديک سنگ رسيد. بارش را زمين گذاشت و شانه‌اش را زير سنگ قرار داد و سعى کرد که سنگ را به کنار جاده هل دهد. او بعد از زور زدن‌ها و عرق ريختن‌هاى زياد بالاخره موفق شد. هنگامى که سراغ بار سبزيجاتش رفت تا آن‌ها را بر دوش بگيرد و به راهش ادامه دهد متوجه شد کيسه‌اى زير آن سنگ در زمين فرو رفته است. کيسه را باز کرد پر از سکه‌هاى طلا بود و يادداشتى از جانب شاه که اين سکه‌ها مال کسى است که سنگ را از جاده کنار بزند. آن مرد روستايى چيزى را می‌دانست که بسيارى از ما نمی‌دانيم!
.هر مانعى، فرصتى


Tuesday, January 18, 2011

Mobile Ad-hoc Network (MANET) Simulator based on Efficient Local-Multipath Adaptive Routing (ELMAR) Protocol

شبیه ساز شبکه اقتضایی بر مبنای پروتکل مسیریابی وفقی چندمسیره محلی بهینه

Mobile Ad-hoc Network (MANET) Simulator based on Efficient Local-Multipath Adaptive Routing (ELMAR) Protocol

شبيه ساز MANET

1          مقدمه

در اين بخش شبيه ساز MANET که براي شبيه سازي پروتکل پيشنهادي SELMAR طراحي شده است، معرفي مي شود. در بخش هاي بعدي نحوه کارکرد شبيه ساز بيان مي شود و برخي از کلاس ها، متغيرها و توابع مهم شبيه ساز توضيح داده مي شود و در نهايت نتايج شبيه سازي پروتکلSELMAR با توجه به خودخواهي و حمله لانه کرمي بررسي مي شود.

شبيه ساز MANET براي شبيه سازي پروتکل هاي شبکه هاي اقتضايي پياده سازي شده است، و خصوصا براي آناليز عملکرد پروتکل SELMAR مورد استفاده قرار می گیرد. شبيه ساز MANET با زبان برنامه نويسي Visual C++ نوشته شده است که تحت سيستم عامل Windows کار مي کند.

2          نحوه کارکرد شبيه ساز

به منظور شبيه سازي يک شبکه اقتضايي ابتدا اجزاي آن که شامل مسيرياب ها، لينک ها و ترافيک ها است، بايستي مشخص شوند. مسيرياب ها مطابق توپولوژي مورد نظر مي توانند به صورت تک تک اضافه شوند يا به صورت تصادفي يک گروه 100 تايي از گره ها (با توجه به شکل 1) توليد شوند و در صفحه مختصات قرار بگيرند.

شکل 1 نحوه ايجاد توپولوژي تصادفي

بعد از قرارگيري مسيرياب هاي تصادفي در صفحه مختصات (مانند شکل 2) مي توان مسيرياب ها را با ماوس حرکت داد. در ضمن با کليک راست بر روي گره ها مي توان آن ها را پاک کرد يا برخي خصوصيات کاربري مسيرياب را اصلاح کرد.

شکل 2 نمايش توپولوژي تصادفي بوجود آمده توسط MANET

خصوصيات کاربري مسيرياب هم از طريق نوار ابزار و هم از طريق کليک راست قابل دسترسي است. خصوصيات مسيرياب ها شامل عنوان (نامي منحصر به فرد براي هر مسيرياب)، پوشش راديويي (برحسب واحد نقطه)، تاخير پردازش اطلاعاتي (برحسب واحد تيک)، اندازه بافر (برحسب واحد بسته)، مسير فيزيکي عکس مسيرياب در ديسک سخت، مختصات افقي مسيرياب، مختصات عمودي مسيرياب، طول قالب (برحسب واحد نقطه)، عرض قالب (برحسب واحد نقطه) و نوع مسيرياب (اقتضايي، مخرب يا خودخواه) است. (شکل 3)

شکل 3 ديالوگ تنظيم مشخصات مسيرياب

لينک هاي بي سيم بين گره هاي همسايه توسط خطوط رنگي نمايش داده مي شود. نرم افزار بعد از تنظيم مکان گره ها توسط کاربر با توجه به شکل 4 با انتخاب گزينه ايجاد لينک مي تواند لينک هاي بي سيم ممکن بين گره ها را نمايش دهد. نرم افزار فاصله بين گره ها را با محدوده پوشش راديويي آن ها مقايسه مي کند و در صورتي که فاصله بين دو گره از پوشش راديويي هر دو گره کمتر باشد، لينک واصل بين دو گره نمايش داده مي شود.

شکل 4 نحوه ايجاد ارتباطات ميان گره ها

پس از نمايش لينک ها نيز مي توان گره ها را جابجا نمود. اما اگر گره ها از بازه راديويي يکديگر خارج شوند (شکل 5)، لينک واصل به نشانه از دست رفتن ارتباط بي سيم بين دو گره قرمز رنگ مي شود.

شکل 5 خارج شدن گره شماره 10 از پوشش گره هاي شماره 17 و 19

حال بايستي ترافيک بين گره ها را تعريف کنيم. براي برقراري ارتباط ميان گره ها مي توان ترافيک بين هر مبدا و مقصد معين را با توجه به پروتکل مربوطه تنظيم کرد. همان گونه که در شکل 6 نشان داده شده است، مي توان زمان شروع ارتباط را هم برحسب تيک تعيين کرد تا ترافيک مورد نظر در زمان مورد نظر بين مبدا و مقصد بوسيله پروتکل مربوطه جريان يابد.

شکل 6 نحوه بازکردن ديالوگ تعريف ترافيک

پنجره مربوط به تنظيم ترافيک بين مبدا و مقصد مشخص در زمان مورد نظر با توجه به پروتکل مربوطه در شکل 7 نشان داده شده است.

شکل 7 ديالوگ تنظيم ترافيک بين گره ها

براي انجام عمل شبيه سازي مي توانيد گزينه Profile را از قسمت شبيه سازي در نوار ابزار برنامه مطابق شکل 8 انتخاب کنيد.

شکل 8 نحوه راه اندازي پنجره شبيه سازي

سپس پنجره مربوط به عمل شبيه سازي باز مي شود (شکل 9). با فشردن دکمه Resume عمل شبيه سازي ادامه مي يابد و دکمه Resume به Pause تبديل مي شود، همچنين با کليک دکمه Pause عمل شبيه سازي متوقف مي شود و دکمه Pause به Resume مبدل مي شود. براي کنترل سرعت عمل شبيه سازي مي توانيد نشان لغزنده [1] را حرکت دهيد تا سرعت عمل شبيه سازي افزايش يا کاهش يابد (بصورت پيش فرض سرعت عمل شبيه سازي بر روي حداقل مقدار خود قرار دارد).

شکل 9 ديالوگ کنترل عمليات شبيه سازي

در دنياي واقعي هر مسيرياب به طور مستقل با استفاده از پردازنده داخلي خود اعمال شبکه مربوط به خودش را انجام مي دهد. در دنياي مجازي شبيه سازي سعي مي شود که با تعريف خصوصيات ويژه و اساسي مسيرياب ها تفاوت هاي آن ها بارزتر شود و کل اعمال شبکه را بتوان با استفاده از يک پردازنده دنبال کرد. در عمل همه مسيرياب ها به صورت موازي کار مي کنند اما براي شبيه سازي مجبوريم که وظايف خواسته شده از هر گره را در بازه هاي زماني مشخص با توجه به قدرت پردازنده و ديگر مشخصات رايانه انجام دهيم.

در نرم افزار MANET براي سرعت بخشيدن به عمل شبيه سازي سعي شده است که در هر تيک زماني تمام مسيرياب ها يک بار ساعت[2] بخورند. به منظور واقعي تر شدن عمل شبيه سازي در هر بار اجراي حلقه زماني برحسب تيک همه مسيرياب ها به اندازه يک واحد زماني (تيک) کارهاي محوله خود را انجام مي دهند. اعمال خواسته شده از هر گره شامل دانلود[3] (به معناي دريافت بسته رسيده در انتهاي لينک مورد نظر متصل به گره)، پردازش بسته ها و آپلود[4] (به معناي ارسال بسته پردازش شده به ابتداي لينک مورد نظر متصل به گره) است. براي آن که اعمال دانلود و آپلود تنها يک باردر هر حلقه زماني انجام شوند از يک بيت به منظور شناسايي لينک فعال يا غيرفعال استفاده مي شود. روش مورد استفاده فوق از نظر طراح برنامه بسيار سودمندتر از ساير روش ها به نظر رسيد!

با شروع زمان ارسال ترافيک، گره مبدا ابتدا عمل مسيريابي را انجام مي دهد و مرحله کشف مسير را آغاز مي کند. بدين منظور بسته درخواست مسير را به وجود مي آورد و به همسايگانش پخش مي کند. توجه شود که بسته درخواست مسير به دليل آن که پروتکل مورد استفاده بر مبناي بردار فاصله برحسب نياز کار مي کند، تنها يک بار در حافظه ايجاد مي شود و از آن به بعد گره ها تنها اشاره گر بسته را پخش مي کنند. اين کار به افزايش سرعت شبيه سازي بسيار کمک مي کند. حلقه ساعت زني گره ها با توجه به مقادير انتخابي کاربر در پنجره شبيه سازي هر چند ميلي ثانيه يکبار تکرار مي شود تا عمل شبيه سازي شبکه به همين منوال جلو رود.

هر مسيرياب شبکه در هر بار اجراي حلقه ساعت زني گره ها به لينک هاي واصل خود گوش مي دهد تا چنانچه بسته اي به انتهاي مسير خود رسيد، توسط مسيرياب دانلود و دريافت شود. بسته هاي دريافتي گره ها در بافر گيرنده ذخيره مي شود و به ترتيب پردازش مي شوند. براي مثال گره هاي مياني بسته هاي دريافتي را بررسي مي کنند که به کدام گره بعدي بفرستند و بسته هاي داده نيز توسط مقصد جمع آوري مي شوند. بسته هاي ارسالي گره ها در بافر فرستنده قرار مي گيرند و به ترتيب براي همسايه هاي مورد نظر از طريق لينک هاي مربوطه فرستاده مي شوند.

با اين وصف مي توان فهميد که براي مدل سازي تاخير لينک ها نيز بافرهايي تعريف شده است که بسته هاي آپلود شده در داخل آن ها قرار مي گيرند و در واقع از يک سو سوار بر لينک مي شوند تا به سوي ديگر آن برسند. در انتها (سر ديگر لينک) نيز توسط گره همسايه دانلود مي شوند و اين راه کار در مورد همه لينک ها وجود دارد. در ضمن در هر بار اجراي حلقه ساعت زني، گره ها خود جداگانه ساعت زني لينک هاي خود را براي حرکت بسته ها در داخل آن ها انجام مي دهند.

مقدار تاخير بسته ها در داخل لينک ها (برحسب تعداد تيک ها) بر اساس فاصله گره هاي واصل توسط لينک محاسبه مي شود و به ازاي هر بار ساعت زني يک واحد از آن کسر مي شود. صفر شدن شمارنده تاخير به معناي رسيدن بسته به انتهاي لينک يا سر مقابل لينک است تا گره همسايه در ساعت بعدي آن را دريافت کند.

لينک هاي موجود بين مسيرياب ها در اولين گام به رنگ مشکي هستند. با عبور بسته هاي درخواست مسير از لينک ها رنگ آن ها آبي مي شود و در هنگام حرکت بسته هاي جواب مسير از لينک ها رنگ آن ها زرد مي گردد. وقتي که بسته داده در داخل لينک قرار مي گيرد، رنگ لينک بنفش مي شود و در نهايت با بازگشت بسته ACK به مبدا رنگ لينک هاي مسير به نشانه برقراري موفقيت آميز ارتباط سبز مي شود.

نحوه پردازش و مسيريابي گره ها بر مبناي پروتکل ترافيک لايه شبکه است که در هنگام تعريف ترافيک توسط کاربر لحاظ شده است. پردازش بسته ها به نوع بسته ها بستگي دارد. مثلا بسته درخواست مسير در صورت نبود مسير مشخص به مقصد به همسايگان پخش مي شود ولي بسته ACK به گره بعدي سوي مبدا جلوراني مي شود. در ضمن گره هاي مولد ترافيک علاوه بر پردازش هاي معمول بايستي زمان بين رفت بسته درخواست و آمد بسته جواب را اندازه گيري کنند و همواره به ازاي ارسال تعداد مشخصي بسته داده منتظر دريافت يک پيغام ACK مبتني بر سالم به مقصد رسيدن داده ها باشند.

در برنامه MANET پروتکل هاي لايه پيوند داده و لايه فيزيکي به صورت ساده مدل شده اند. در مدل لايه فيزيکي بسته ها بدون نويز به صورت اشاره گر بايتي ارسال و دريافت مي شوند. در اين پروژه از عوامل متعدد مؤثر در مخابرات ديجيتال از جمله نويز، فيدينگ، چند مسيره بودن و غيره صرف نظر شده است و مدل لايه فيزيکي به ساده ترين شکل در نظر گرفته شده است. زيرا هدف از انجام پروژه بررسي اثر حملات شناخته شده بر روي پروتکل هاي لايه شبکه است و چنين عواملي به دليل اثر ناچيزشان در نظر گرفته نشده اند. همچنين لايه پيوند داده و زير لايه کنترل دسترسي فضا[5] نيز به صورت کاملا دو طرفه بدون تصادم در نظر گرفته شده است، بدين معني که گره هاي مرتبط مي توانند از هر جهت به داخل لينک واصل بين خودشان داده ارسال کنند و اين داده ها با يکديگر تلاقي نمي کنند و به راحتي در انتها توسط خود گره ها قابل دريافت هستند.

3          معرفي کلاس ها (متغيرها و توابع)

3-1      مقدمه

نرم افزار MANET شامل پنج کلاس اصلي است و بقيه کلاس هاي نرم افزار، زيرکلاسي از اين پنج کلاس هستند و يا از کلاس هاي پيش تعريف MFC [6] هستند. پنج کلاس عمده برنامه MANET عبارتند از کلاس CLink، کلاس CPacket، کلاسCRouter، کلاسCTable و کلاسCTraffic. در ادامه اين بخش به بيان هر يک از کلاس هاي مورد استفاده در نرم افزار به انضمام متغيرها و توابع هرکدام مي پردازيم.

3-2      کلاس CLink

کلاس CLink براي مدل سازي لينک هاي واصل بين گره ها در شبکه اقتضايي به کار مي رود. هر متغيري که از نوع کلاس CLink تعريف شود، بايستي به دو گره اقتضايي به نشانه دو سر لينک اشاره کند. همچنين بسته به نوع ارتباط و پهناي باند آن مي توان فرکانس ارسال بيت در لينک را با متغيرFrequency تنظيم کرد.

متغيرهاي Router1 و Router2 از کلاس CLink اشاره گرهاي مسيرياب هاي دو انتهاي لينک را مشخص مي کنند. متغير Start و End مختصات نقطه ابتدا و انتها لينک را در صفحه نشان مي دهند. روال (تابع) Draw براي رنگ آميزي لينک به کار مي رود. رنگ لينک توسط نوع آخرين بسته اي که وارد آن شده است، تعيين مي شود. براي مثال بسته درخواست مسير رنگ لينک را آبي مي کند، بسته جواب مسير رنگ لينک را زرد مي کند، بسته داده رنگ لينک را بنفش مي کند و بسته ACK رنگ لينک را سبز مي کند. براي دسترسي به رنگ ها متغير rgb از نوع COLORREF استفاده مي شود.

روال Distance2 توان دوم فاصله بين گره هاي ابتدا و انتهاي لينک را محاسبه مي کند و از خروجي اين روال براي محاسبه متغير تاخير (Delay) در لينک استفاده مي شود. متغير Duplex يک طرفه يا دو طرفه بودن لينک را نشان مي دهد. اشاره گر بسته هاي آپلود شده توسط گره اول در متغير آرايه اي p1s و اشاره گر بسته هاي آپلود شده توسط گره دوم در متغير آرايه اي p2s نگهداري مي شوند. در ضمن زمان تاخير انتشار هر کدام از اين دسته ها نيز به ترتيب در متغيرهاي آرايه اي pd1s و pds2 ذخيره مي شوند.

روال هاي مهم مورد استفاده در کلاس Clink عبارتند از Transmit، Download و Upload. از روال Transmit براي حرکت بسته ها به ازاي هر بار ساعت زني با توجه به مقدار تاخير هر بسته استفاده مي شود. مسيرياب ها با استفاده از روال Uploadي لينک هاي خود مي توانند بسته هاي ارسالي خود را بر روي لينک ها سوار کنند و از جهت ديگر هم پس از صفر شدن متغير تاخير هر بسته مسيرياب مورد نظر مي تواند با کمک روال Downloadي لينک مربوطه بسته را از روي آن دانلود و دريافت کند.

3-3      کلاس CPacket

کلاس CPacket براي مدل سازي بسته هاي مورد استفاده در شبکه هاي اقتضايي به کار مي رود. هر متغير از نوع کلاس CPacket حاوي يک شناسه (متغيرID) منحصر به فرد است که اغلب به صورت تصادفي تعيين مي شود. همچنين متغير Type نوع بسته را مشخص مي کند که به صورت پيش فرض برابر صفر است يعني بسته از نوع بسته درخواست مسير است. اگر مقدار متغير Type ، يک باشد بسته از نوع جواب مسير است، اگر مقدار آن دو باشد بسته از نوع داده است و اگر مقدار آن سه باشد بسته از نوع ACK خواهد بود.

علاوه بر اين ها کلاس CPacket حاوي اسامي منبع و مقصد (متغيرهاي Source و Destination) از نوع رشته اي[7] است، تا مبدا و پايان حرکت بسته در سرآيند آن مشخص باشد. درضمن متغير SeqNum آخرين شماره مسلسل دريافتي از مبدا را نشان مي دهد و به گره هاي مياني کمک مي کند تا جدول مسيريابي خود را در صورت جديد بودن اين شماره به روز رساني کنند. متغير Expiration نيز طول عمر بسته را نشان مي دهد که با عبور بسته از هر گره يک واحد از مقدار آن کسر مي شود. متغير Protocol نوع پروتکلي را که بسته بر مبناي آن توليد و پردازش مي شود را نشان مي دهد. متغير ChangePath از کلاس CPacket در صورت فعال شدن (مقدار بزرگتر از صفر) باعث تغيير مسير در گره هاي مياني مي شود. اين متغير نقش بسزايي در عمل مسيريابي پروتکل دارد.

3-4      کلاس CTraffic

کلاس CTraffic به منظور مدل سازي ترافيک شبکه هاي اقتضايي طراحي شده است. هر شيء که از کلاس CTraffic تعريف شود، حاوي دو اشاره گر از کلاس CRouter است که به مبدا و مقصد ترافيک اشاره مي کند. گره هاي ابتدا و انتهاي کلاس CTraffic همان متغيرهاي Source وDestinationي کلاس CTraffic هستند. متغير Protocol در کلاس CTraffic نوع پروتکلي که ترافيک بر مبناي آن تعريف مي شود را بيان مي کند و متغير Start زمان شروع توليد ترافيک در شبکه را بر حسب تيک بيان مي کند. پروتکل پيش فرض مورد استفاده در اين کلاس همان پروتکلELMAR است و مقدار پيش فرض شروع ترافيک همواره صفر (مبدا شبيه سازي) است.

3-5      کلاس CTable

کلاس CTable براي مدل سازي جداول مسيريابي گره ها طرح ريزي شده است. هر متغير از نوع کلاس CTable بايستي توسط متغير رشته اي Destination به نام منحصر به فرد مقصد اشاره کند. هر مسيرياب به ازاي هر مقصد ممکن است که تعدادي مسير در اختيار داشته باشد. تعداد مسيرهاي در اختيار گره به ازاي هر مقصد از تعداد همسايه هاي گره کوچکترمساوي است. هر متغير کلاس CTable آرايه اي از مسيرها (از نوع کلاس CPath) را در اختيار دارد که هر متغير از نوع کلاس CPath در اينجا تنها پرش بعدي براي رسيدن به مقصد را نشان مي دهد، زيرا پروتکل هاي مورد استفاده با بردار فاصله کار مي کنند و از نوع "مسير از مبدا" نيستند.

متغير Index انديس مسير فعلي در آرايه مسيرها را که گره از آن استفاده مي کند، نشان مي دهد. در صورتي که متغير Index تمام مسيرهاي موجود را غربال کند، متغير Round فعال مي شود و حداقل يک دور جستجوي کامل مسيرها را نشان مي دهد. اين دو متغير براي پيدا کردن مسير مناسب بين مبدا و مقصد در زيرگراف القايي توپولوژي شبکه نقش اساسي دارند.

3-6      کلاس CRouter

کلاس CRouter مسيرياب هاي شبکه اقتضايي را مدل مي کند و در واقع اصلي ترين کلاس نرم افزار شبيه ساز MANET محسوب مي شود. هر شيء از نوع کلاس CRouter، نام منحصر به فردي از نوع رشته اي به عنوان نشاني IP دارد که در متغير Caption ذخيره مي شود. مختصات افقي، مختصات عمودي، طول و عرض مستطيلي که نشان دهنده مسيرياب در صفحه است، به ترتيب توسط متغيرهاي X ،Y ، RectLength و RectWidth تعريف مي شوند.

برخي ديگر از پارامترهايي که توسط کاربر قابل تغيير هستند، شامل پوشش راديويي، تاخير، اندازه بافر، نوع مسيرياب و مسير فيزيکي تصوير گره در ديسک سخت است، که به ترتيب در متغيرهاي Coverage، Delay، BufferSize، Type و ImagePath نگهداري مي شوند. نوع مسيرياب مي تواند اقتضايي (Adhoc)، خودخواه (Selfish) و يا مخرب (Malicious) باشد. مسيرياب کلاس CRouter به آرايه هاي اشاره گر بسياري دسترسي دارد و بدين وسيله مي تواند اعمال شبکه را مدل سازي کند.

آرايه links شامل اشاره گر تمام لينک هاي متصل به مسيرياب از کلاس CLink است. آرايه traffics شامل اشاره گر همه ترافيک ها از کلاس CTraffic است که بايستي توسط مسيرياب توليد شوند. آرايه هاي receivedpackets، generatedpackets، processedpackets وdatapackets به ترتيب حاوي اشاره گر همه بسته هاي دريافت شده، توليد شده، پردازش شده و داده (از نوع کلاس CPacket) است که مسيرياب با آن ها در ارتباط بوده است.

آرايه tables شامل اشاره گر جداول مسيريابي مقاصد مشخص است. همسايه هاي مسيرياب که خود از نوع کلاس CRouter هستند، در آرايه neighbors قرار مي گيرند و ترتيب همسايگان در آرايه neighbors با ترتيب لينک ها در آرايه links همخواني دارد. براي مثال همسايه شماره 7 با لينک شماره 7 به مسيرياب وصل مي شود.

هر مسيرياب کلاس CRouter شماره مسلسل هاي بسته هاي مختلف و زمان هاي انقضاي آن ها را در متغيرهايي که به ترتيب به SeqNum و Exp ختم مي شوند، نگهداري مي کند. در ضمن هر مسيرياب براي خود ساعتي دارد که تعداد تيک هاي گذشته از زمان روشن شدن مسيرياب را توسط متغيرClock اندازه گيري مي کند. متغير کنترلي SendData نيز زمان ارسال داده را کنترل مي کند و بعد از انجام عمل مسيريابي فعال مي شود.

هسته اصلي مسيرياب کلاس CRouter روال tick است، که با هر بار اجراي آن توسط حلقه ساعت زني برنامه، يک واحد به مقدار متغير Cloakي مسيرياب افزوده مي شود و سپس روال هاي Receive ، Process و SparkTraffic فراخواني مي شوند. روال Receive نقش دانلود و دريافت بسته ها (در صورت وجود) از لينک ها را دارد. روال Process شامل چهار قسمت است که برجسب نوع بسته فعلي خوانده شده از بافر مسيرياب، يکي از توابع ProcessRReqPacket، ProcessRREpPacket، ProcessDataPacket و ProcessACKPacket اجرا مي شوند. تابع SparkTraffic براي توليد ترافيک در شبکه استفاده مي شود.

زمان تاخير پردازش بسته ها توسط روال GetProcessDelay محاسبه مي شود. براي توليد بسته هاي درخواست مسير، جواب مسير، داده و ACK به ترتيب از روال هاي GenRReq، GenRRep، GenDataPacket و GenAckPacket استفاده مي شود. مسيرياب با استفاده از آرايه هاي بسته ها و روال IsProcessed تکراري نبودن بسته هاي دريافتي را بررسي مي کند تا در ساعت زني هاي بعدي اين بسته هاي دريافتي غيرتکراري را پردازش کند. مسيرياب به منظور پخش بسته مورد نظر براي همسايگان از توابع Broadcast خود استفاده مي کند تا بسته مورد نظر بر روي همه لينک ها آپلود شود.

مسيرياب با دريافت بسته هاي مختلف جداول مسيريابي خود را با استفاده از تابع Update تنظيم و به روزرساني مي کند. گره کلاس CRouter براي بدست آوردن انديس جدول مربوط به مقصد خاص تابع GetTableIndexToDest را به کار مي برد و به منظور بدست آوردن انديس جدول مربوط به مبدا مورد نظر روال GetTableIndexToSource را استفاده مي شود. مسيرياب کلاس CRouter از تابع GetNextHop براي مسيريابي بسته دريافتي به مقصد مورد نظر استفاده مي کند. با اين توضيحات خلاصه شده مسيرياب کلاس CRouter قادر خواهد بود که کليه وظايف متناسب با پروتکل را به صورت خودکفا انجام دهد.

4          نتايج شبيه سازي

در اين قسمت پروتکل SELMAR در يک توپولوژي شبکه 50 گره اي که به صورت تصادفي کنار يکديگر قرارگرفته اند، شبيه سازي شده است (شکل 10). گره هايي که قصد برقراري ارتباط دارند با رنگ قرمز دورشان مشخص شده اند. گره مبدا گره شماره صفر و گره مقصد گره شماره 49 است.

شکل 10 توپولوژي شبکه دلخواه 50 گره اي

با انجام عمل شبيه سازي بسته هاي درخواست مسير در شبکه پخش مي شوند و لينک ها را آبي مي کنند. سپس بسته هاي جواب مسير در شبکه حرکت مي کنند و رنگ لينک ها را زرد مي کنند. نمايي از توپولوژي شبکه در ميان عمل شبيه سازي در شکل 11 نشان داده شده است.

شکل 11 پخش شدن بسته هاي درخواست و جواب مسير در شبکه

سپس گره صفر بسته هاي داده را به سمت گره 49 با انتخاب کوتاه ترين مسير در جدول مسيريابي ارسال مي کند. گره هاي مياني ترافيک را در جهت انديس ورودي جداول خود مي فرستند. مسير بنفش مسير جلوراني داده از مبدا به مقصد را نشان مي دهد. بسته َََACK مسير معکوس (مسير سبز) برگشتي به مبدا را مي پيمايد (شکل 12)، چراکه گره هاي مياني پرش معکوس بازگشتي به مبدا را در جداول خود تنظيم مي کنند. لذا مسير سبز برگشتي به مبدا مسير بنفش رفت به مقصد را دوباره رنگ آميزي مي کند.

شکل 12 مسير سبز رنگ دريافت بسته ACK

گره شماره 28 همسايه گره 49 (مقصد) در شکل 12 با دايره سياه دورش نشان داده شده است. گره 28 همسايه مقصد در مسير انتخابي ارتباط قرار گرفته است، لذا براي آزمايش مقاومت پروتکل در برابر خودخواهي خاصيت گره 28 را از اقتضايي به خودخواه تغيير مي دهيم و عمل شبيه سازي را براي همان توپولوژي دو مرتبه انجام مي دهيم. در نهايت همان طور که در شکل 13 نشان داده شده است، مسير جايگزين (49-30-25-36-27-0) به جاي مسير قبلي (49-28- 19-40-6-0) انتخاب مي شود. عمل خودخواه سازي گره هاي همسايه مقصد را ادامه مي دهيم و اين بار گره 30 را خودخواه مي کنيم. نتايج شبيه سازي نشان مي دهد که مسير بهينه محلي مسير 49-4-20-37-42-0 خواهد بود.

شکل 13 مقاومت پروتکل SELMAR در مقابل خودخواهي گره شماره 28

حال نوع گره شماره 4 که همسايه مقصد است، را نيز به خودخواه تغيير مي دهيم. اين بار تعداد دفعات متوقف شدن ارتباط افزايش مي يابد و پروتکل پس از امتحان تعداد زيادي از مسيرها مي تواند از طريق گره شماره "يک" راهي به گره مقصد بيابد. مسير انتخابي در اين حالت مطابق شکل 14 به صورت 49-1-26-2-43-5-0 است.

شکل 14 توانايي پروتکل SELMAR در مقابله با خودخواهي گره ها

علي رغم اينکه تعداد اقدامات براي برقراري ارتباط افزايش مي يابد هنگامي که تعداد گره هاي خودخواه افزايش مي يابد، هر اقدام براي ايجاد ارتباط انديس ورودي گره هاي مياني را از سمت گره هاي خودخواه (مشابها براي گره هاي مخرب) خود به خود دور مي کند. لذا افزايش تعداد اين اقدامات، به برقراري ارتباط هاي بعدي کمک شاياني مي کند، زيرا گره هاي مياني انديس ورودي جداول مسيريابي خود را براي اقدامات ايجاد ارتباط بعدي تغيير داده اند و گره هاي خودخواه براي همکاري جلوراني بسته هاي داده انتخاب نمي شوند، بنابراين تعداد اقدامات براي برقراري ارتباط هاي بعدي کاهش مي يابد.

براي نشان دادن مقاومت پروتکل SELMAR در مقابل حمله فعال لانه کرمي نيز همان توپولوژي تصادفي قبلي را در نظر مي گيريم و يک لينک لانه کرمي (خط قرمز) بين گره شماره 24 (همسايه گره مبدا) و گره شماره 30 (همسايه گره مقصد) اضافه مي کنيم. همان طور که در شکل 15 نشان داده شده است، کوتاه ترين مسير بين مبدا (گره صفر) و مقصد (گره 49) مسير شامل گره هاي 49-30-24-0 خواهد بود.

شکل 15 مقاومت پروتکل SELMAR در مقابل حمله لانه کرمي

گره هاي يال لانه کرمي بسته هاي داده را دور مي ريزند. با انجام عمل شبيه سازي مشاهده مي شود که پس از انجام 5 تلاش براي ايجاد ارتباط پروتکل SELMAR مي تواند مسير بهينه محلي 49-4-29-43-5-0 را رديابي کند. به اين ترتيب مي توان درک کرد که لانه کرم ها از گره هاي خودخواه خطرناک تر هستند و افزايش لينک هاي لانه کرمي باعث مي شود که يافتن مسير مناسب بيشتر به طول انجامد. لانه کرم ها بيشتر ترافيک هاي شبکه را مانند سياهچاله ها به سمت خود جذب مي کنند. نتايج شبيه سازي نشان مي دهد که هر چه طول لانه کرم بيشتر باشد تهديد خطرناک تري براي شبکه محسوب مي شود و تلاش بيشتري بايد صورت گيرد تا الگوريتم مسيريابي همگرا شود و مسير ارتباط بين مبدا و مقصد برقرار گردد. در عوض گره هاي مهاجم نيز بايستي هزينه بيشتري براي برقراري لانه کرم بلندتر بپردازند! همانند روش جلوگيري از رشد خودخواهي، چنانچه تعداد اقدامات براي برقراري ارتباط افزايش يابد، جهت پرش هاي بعدي گره هاي مياني از سمت مهاجمان لانه کرم ها تغيير مي کند. اين نکته سودمندي در رابطه با افزايش عملکرد پروتکل در ايجاد ارتباط هاي بعدي بين گره هاي شبکه است.

5          نتيجه گيري

در اين فصل نحوه عملکرد شبيه ساز MANET مورد استفاده در اين پروژه را توضيح داديم و کلاسها، متغيرها و توابع مهم تعريف شده در اين نرم افزار را معرفي کرديم. در نهايت پروتکل SELMAR را توسط برنامه MANET شبيه سازي کرديم. با توجه به نتايج شبيه سازي و استدلال هاي فصل پيشين مي توان چنين نتيجه گرفت که پروتکل SELMAR در مقابل حملات فعال و غيرفعال شناخته شده تاکنون از مقاومت لازم برخوردار است و امنيت مورد نظر را برقرار مي کند. همچنين با توجه به خواص الگوريتم مبناي خود ELMAR نسبت به پروتکل هاي چندمسيريابي پيشين عملکرد بروندهي مطلوبتري نيز دارد.

 

 

 

                                                                                                               



[1] Slider

[2] Clock

[3] Download

[4] Upload

[5] Medium Access Control (MAC) Sub Layer

[6] Microsoft Foundation Classes

[7] String

Attachments (22)

  • Attacker.h - on Sep 11, 2010 3:06 PM by Farshid Farhat (version 1) 
    1k Download
  • Caption.h - on Sep 11, 2010 3:06 PM by Farshid Farhat (version 1) 
    1k Download
  • CaptionDialog.h - on Sep 11, 2010 3:06 PM by Farshid Farhat (version 1) 
    1k Download
  • End2End.h - on Sep 11, 2010 3:07 PM by Farshid Farhat (version 1) 
    1k Download
  • Farshid.Farhat.Resume.pdf - on Dec 18, 2010 3:23 PM by Farshid Farhat (version 1) 
    112k View Download
  • Link.cpp - on Sep 11, 2010 3:11 PM by Farshid Farhat (version 1) 
    6k Download
  • Link.h - on Sep 11, 2010 3:07 PM by Farshid Farhat (version 1) 
    1k Download
  • LinkDialog.h - on Sep 11, 2010 3:07 PM by Farshid Farhat (version 1) 
    1k Download
  • MANET.h - on Sep 11, 2010 3:07 PM by Farshid Farhat (version 1) 
    1k Download
  • MANETDoc.h - on Sep 11, 2010 3:07 PM by Farshid Farhat (version 1) 
    2k Download
  • MANETView.h - on Sep 11, 2010 3:07 PM by Farshid Farhat (version 1) 
    4k Download
  • MainFrm.h - on Sep 11, 2010 3:07 PM by Farshid Farhat (version 1) 
    1k Download
  • Packet.h - on Sep 11, 2010 3:07 PM by Farshid Farhat (version 1) 
    2k Download
  • Path.h - on Sep 11, 2010 3:07 PM by Farshid Farhat (version 1) 
    1k Download
  • Router.h - on Sep 11, 2010 3:08 PM by Farshid Farhat (version 1) 
    6k Download
  • RouterDialog.h - on Sep 11, 2010 3:08 PM by Farshid Farhat (version 1) 
    2k Download
  • SimDlg.h - on Sep 11, 2010 3:10 PM by Farshid Farhat (version 1) 
    2k Download
  • StdAfx.h - on Sep 11, 2010 3:10 PM by Farshid Farhat (version 1) 
    1k Download
  • Table.h - on Sep 11, 2010 3:10 PM by Farshid Farhat (version 1) 
    1k Download
  • Traffic.h - on Sep 11, 2010 3:10 PM by Farshid Farhat (version 1) 
    1k Download
  • resource.h - on Sep 11, 2010 3:08 PM by Farshid Farhat (version 1) 
    4k Download
  • trafficdialog.h - on Sep 11, 2010 3:10 PM by Farshid Farhat (version 1) 
    1k Download